summary refs log tree commit diff
path: root/Src/zsh.h
Commit message (Collapse)AuthorAgeFilesLines
* Extra case for ERR_RETURN and ERR_EXIT.Peter Stephenson2016-12-051-0/+1
| | | | | | Don't trigger just because status is non-zero at end of complex shell construct as this may be a case we've already suppressed.
* 40037: Unicode 9 character width support.Joshua Rubin2016-11-291-1/+3
| | | | Enable with --enable-unicode9.
* 40035: Cosmetic fixes for comments and documentation.Eitan Adler2016-11-291-1/+1
| | | | Mostly fixes to doubled words.
* 39521: Refactor start of execcmd().Peter Stephenson2016-10-031-0/+16
| | | | | | By splitting into _analyse and _exec execpline2() has easier access to the state at the start of execution. Use this to ensure we fork if this is a builtin with no arguments.
* 39498: use PRIVILEGED option to decide on problematic parameter importsPeter Stephenson2016-09-301-1/+1
|
* 39460: Don't import PS4 if running as root.Peter Stephenson2016-09-281-0/+1
| | | | | There was an exploit in bash using SHELLOPTS to turn on xtrace, however this can't happen in zsh, so this is simply a precaution.
* 39331: Reparent subjob on fork with exited superjob.Peter Stephenson2016-09-161-1/+4
| | | | | | | | | | | Fixes case of v() { { vim - } always { true } } ls | v ^Z fg Tentative fix: still a race at exit where zsh forked by ^Z is stopped when restarted.
* zsh-users/21903: Fix ${...?...} in interactive shell.Peter Stephenson2016-09-141-1/+8
| | | | | On failure should abort back to top level, but we reset the error flag around commands. Add a hard error flag that's only reset at top level.
* 39292: Distinguish "=" and "==" tests in output.Peter Stephenson2016-09-131-16/+23
| | | | | This is both in xtrace output and shell code rebuilt from internal structures.
* 39181: Add PM_SINGLE and use for compstate.Peter Stephenson2016-09-061-0/+1
| | | | | | | | | | | | This flags that compstate (or any other special) can only have a single instance and an attempt to create a new one is an error. Given the very fiddly semantics of compstate any other usage seems pointless. No investigation yet of other variables that could use this. Note it's still possible to hide such variables; only instances that keep the special nature are affected.
* 38809: fix tracking of colour attributes and restore them when turning bold offOliver Kiddle2016-07-081-1/+1
|
* 37700: Teach ${(z)} the 'repeat WORD SUBLIST' syntax.Daniel Shahaf2016-01-291-0/+1
|
* 37689: ! and ^ need to be tokenised in character setsPeter Stephenson2016-01-191-7/+9
|
* 37678: Now possible to quote "-" in pattern rangePeter Stephenson2016-01-191-6/+12
|
* 37344: restore old printable quoting, add ${(q+)...}.Peter Stephenson2015-12-071-1/+7
| | | | | | The \C- form is only used inside quotedzputs(). ${(q+)...} outputs a quotedzputs() representation.
* 37314: upgrade quotedzputs() for non-printable output.Peter Stephenson2015-12-061-0/+6
| | | | | Use nicechar with $'..' quoting; upgrade nicechar() etc. to use suitable output.
* 37092: make nested ${(P)name} properly refer to parameter on returnPeter Stephenson2015-11-111-12/+39
|
* 37022: add GLOB_STAR_SHORT option to abbreviate ** and ***Peter Stephenson2015-10-301-0/+1
|
* 37014: Improved internal parameter setting.Peter Stephenson2015-10-291-3/+0
| | | | | | | | Enhance WARNCREATEGLOBAL to work in many more cases. Don't create REPLY as an integer if it didn't previously exist as one, even if the value to be set is integral, as this is likely to mess up later uses of REPLY.
* 36941: Mark file descripors in ztcp as used.Peter Stephenson2015-10-241-4/+11
| | | | | Allow such file descriptors to be either internal and closed on exec or external and so managed explicitly by module.
* 36700: unmetafy early for parameter matchPeter Stephenson2015-09-291-0/+26
|
* 36682: expand pattern interface to optimise unmetaficationPeter Stephenson2015-09-281-0/+10
|
* 36577: supplement 36559 to using LONG_MAX for 64-bit longPeter Stephenson2015-09-211-0/+4
|
* unposted: typo in 36559Peter Stephenson2015-09-211-1/+1
|
* 36559: test earlier for overflow in pattern rangePeter Stephenson2015-09-191-0/+7
|
* 36478: Add [[:INCOMPLETE:]] and [[:INVALID:]] pattern tests.Peter Stephenson2015-09-101-3/+14
|
* 35793: avoid undefined behaviour shifting signed numberPeter Stephenson2015-07-231-3/+4
|
* 35668: Improved fix for command/proc subst starting in alias.Peter Stephenson2015-07-021-1/+1
| | | | | | Use input flag to suppress the unwanted backtracking. Add test for the extra case covered.
* 35667: fix command substitution that starts but doesn't finish in aliasPeter Stephenson2015-07-011-0/+1
|
* 35655: APPEND_CREATE option for POSIX copmatible NO_CLOBBERPeter Stephenson2015-06-291-0/+1
|
* 35623: All is_array assignments should be treated as having a value.Peter Stephenson2015-06-271-5/+3
|
* various posts: Implement assignment parsing for typeset.Peter Stephenson2015-06-241-24/+63
| | | | | | | | | | | | Typeset assignments now work like raw assignments except for no "+=" and no GLOB_ASSIGN. Documented in typeset builtin doc and mentioned in release notes. Tests to ensure basic sanity. Enabled by default, can be turned off by "disable -r" with typeset family of commands.
* Add non-metafied character length handling.Peter Stephenson2015-06-121-1/+11
| | | | | | | Use this in regex module and add test using $'\ua0'. Rename mb_metacharinit() to mb_charinit() as it does not involve metafied characters.
* 35386: expand tabs where useful in builtins outputing function.Peter Stephenson2015-06-051-3/+6
| | | | | | Also add to zed -f. Option is -x <numm>.
* 35078: Add backslash quoting to parameter (b) flag from 35067.Peter Stephenson2015-05-111-1/+1
|
* 35067: Add (b) parameter flag for pattern char backslashing.Peter Stephenson2015-05-101-0/+10
| | | | | | Doc tweak from Daniel in 35071. Includes test.
* Don't treat NUL as a combining characterMikael Magnusson2015-05-101-2/+2
|
* 34784: fix old bug with history word selectionPeter Stephenson2015-03-261-2/+3
|
* 34776: improve suppression of alias expansions from history.Peter Stephenson2015-03-251-1/+0
| | | | | Now uses the mechanism in use for other forms of suppression of sections of input.
* 34570: Another nasty command / math substituion thing.Peter Stephenson2015-02-191-21/+23
| | | | | | Mark arithmetic substitutions with tokens to make sure the substitution go knows what to do. Before it was guessing by counting the parentheses at the end.
* 34560: Fix $(( that's actually a multiline cmd subst.Peter Stephenson2015-02-161-0/+1
|
* 34234: use structures for normal and raw lexical buffer statePeter Stephenson2015-01-111-6/+23
|
* Rearrange context saving.Peter Stephenson2015-01-091-0/+65
| | | | | | | Variables are now associated with the module that declares them, being initialised and saved/restored there. However, as many variables are used for communication between modules, many of them are set in multiple places, so the assignment is ambiguous.
* Fix command substitutions to parse contents as they are read in.Peter Stephenson2015-01-081-0/+9
| | | | | | | Do this by refactoring misnamed lexsave()/lexrestore() to allow continuity of history and input. Add test.
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combination of 12 commits from interrupt_abort branch. Basic strategy is to introduce bits to errflag and to set and reset them separately. Remove interrupt status on return to main keymap. Turn off ERRFLAG_INT for always block. Restore bit thereafter: we probably need a new variable in order to allow user interrupts to be reset in the always block. Add TRY_BLOCK_INTERRUPT This works the same as TRY_BLOCK_ERROR, but for a SIGINT, too. Ensure propagation of SIGINT from exited job. If received by foreground job, shell uses ERRFLAG_INT, not ERRFLAG_ERROR, to set the new state. Reset errflag before precmd() Add always block in _main_completion to fix ZLS_COLORS Ensures we get the right state of $ZLS_COLORS at the end of _main_complete even if there's an interrupt. However, the "right state" is a bit messy as it depends on styles.
* 33655: remove overlap of node flagsPeter Stephenson2014-11-081-3/+3
|
* 33285: apply function definition redirections at executionPeter Stephenson2014-09-291-0/+1
|
* 33276: safer import of numerical variables from environmentPeter Stephenson2014-09-291-1/+2
|
* 32768 with further modifications: LOCAL_LOOPS option.Peter Stephenson2014-06-131-0/+1
|
* 32682 with tweaks: Add INC_APPEND_HISTORY_TIME.Peter Stephenson2014-06-061-0/+1
| | | | Revert INC_APPEND_HISTORY behaviour.