about summary refs log tree commit diff
path: root/Src/zsh.h
Commit message (Collapse)AuthorAgeFilesLines
* Updates for ksh array element syntax.Peter Stephenson2017-09-241-4/+16
| | | | | | | | Move detection of key/value pairs down into prefork(). Detect normal array assignment and [key]=val array assignemnt separately. Mark key / value pairs with Marker and pass up flag. Deal with marked triads specially later on.
* First go at var=([key]=value) syntax.Peter Stephenson2017-09-131-2/+15
| | | | | | | Works for both normal and typeset case, also var+=... Still to do: allow to be mixed with straight array assignment, improve typeset -p, implement [key]+=value.
* 41668: New --emulate option on invocation.Peter Stephenson2017-09-111-0/+8
| | | | | | | | This sets the shell emulation mode similarly to ARGV0=... which doesn't work from other shells. Note that this gives more comprehensive emulation than running emulate within the shell.
* 41590 modified as 41595: make ERR_RETURN more logical.Peter Stephenson2017-08-241-0/+11
| | | | | | | | It now operates separately at each function depth. To keep ERR_EXIT global, make the noerrexit variable usd bit flags. Extend tests.
* posted but has not shown up: fix fd problem in subshell.Peter Stephenson2017-08-151-0/+12
| | | | | Record fd's that have been saved in fdtable and if the shell forks close them as they will never be restored.
* 41402: Add hasher to ecstrcode to reduce string comparisonsSebastian Gniazdowski2017-07-091-0/+1
|
* Delay processing "disown" for superjob.Peter Stephenson2017-07-041-0/+1
| | | | | | | This is a job forked from the current shell when a job partly running from the current shell was suspended. When all associated processes started from the main shell are finished the job is continued and at this point the disown can complete.
* 41239: Save and restore default history event on context stack.Peter Stephenson2017-06-071-0/+1
| | | | | This ensures that the default event set by an expansion in ZLE doesn't propagate to the command line expansion.
* 41164: Don't free a history entry if it's curline.Peter Stephenson2017-05-301-1/+0
| | | | | | This replaces 41113 / 94014ff65b with a simple local change for the immediate problem. It's not entirely clear if this reflects wider changes in the structure of the history code.
* 41113 (tweaked): Save current line linkage to history ring.Peter Stephenson2017-05-181-0/+1
| | | | | | | | | | When saving history state save whether the current history line is linked into the ring and remove it, and restore as appropriate later. This avoids surprises where the history ring is freed and incorrectly frees the current state in curline, which has a different allocation strategy. Original patch tweaked to make restoring more logical.
* 41090: Replace iswprint() if unicode9 is enabled.Jun-ichi Takimoto2017-05-121-11/+1
| | | | If wcwidth() or iswprint() is broken, force enable unicode9.
* 40760: Always tokenize unquoted - to Dash.Peter Stephenson2017-03-071-0/+10
| | | | | | This fixes use of pattern match character ranges in unusual contexts. Attempt to detect a tokenized - in cases where we don't care.
* 40536: Prepend directory to $fpath.Peter Stephenson2017-02-131-0/+1
| | | | | | Used if parent function is autoloaded by absolute path so as to find functions in the same suite without shell code modification.
* 40439: PAT_HEAPDUP definition just for clarityBarton E. Schaefer2017-01-281-0/+1
|
* 40391: Add WARN_NESTED_VAR option and functions -W.Peter Stephenson2017-01-231-1/+9
| | | | | These are companions to WARN_CREATED_GLOBAL, warning when a variable from an enclosing scope is altered.
* 40335: More care with autoload function path.Peter Stephenson2017-01-121-0/+1
| | | | | | If doing "autoload -X", the path present might actually be location of file containing the function with the autoload -X. Add an explicit flag to say it's a directory for autoload.
* Add features associated with autoloading a function using an absolutePeter Stephenson2017-01-111-1/+4
| | | | | | | | | | | | | path. -d defaults to normal fpath -r remembers the path without actually loading. May be combined with -d. -R does the same but it's an error if not found -X can now take a directory path: this is used to output not yet loaded functions that have an associated path.
* 40306 with doc tweaks: Change behaviour expanding alias in () function ↵Peter Stephenson2017-01-101-0/+1
| | | | | | | definition. Now an error unless the () is part of the same error as the name. Add ALIAS_FUNC_DEF option to allow it again.
* 40119: correct typo in commentOliver Kiddle2016-12-081-2/+2
|
* 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
|