Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 40929 (replaces 40598): paramsubst() should always return scalar when ↵ | Barton E. Schaefer | 2017-04-02 | 1 | -13/+8 |
| | | | | | | | | | PREFORK_SINGLE was passed in from prefork() Previous commit (74fe4d09) consumed too much of the input linked list, leading to later expansions being skipped. This commit converts from array to string sooner, but may thereby alter rc_expand_param and array element uniqueness behavior. | ||||
* | 40832: fix $x:P when PWD=/ | Barton E. Schaefer | 2017-03-11 | 1 | -2/+10 |
| | |||||
* | 40760: Always tokenize unquoted - to Dash. | Peter Stephenson | 2017-03-07 | 1 | -17/+24 |
| | | | | | | This fixes use of pattern match character ranges in unusual contexts. Attempt to detect a tokenized - in cases where we don't care. | ||||
* | 40640: the (A) parameter flag forces array result even if assignment syntax ↵ | Barton E. Schaefer | 2017-02-25 | 1 | -0/+11 |
| | | | | is not used | ||||
* | 40598: paramsubst() should always return scalar when PREFORK_SINGLE was passed | Barton E. Schaefer | 2017-02-20 | 1 | -1/+14 |
| | |||||
* | 40593: SHWORDSPLIT + unset IFS should cause default splitting of $@ | Barton E. Schaefer | 2017-02-20 | 1 | -1/+2 |
| | |||||
* | 40375: autoload with explicit path mustn't trash already loaded function. | Peter Stephenson | 2017-01-18 | 1 | -4/+4 |
| | | | | | Also remove unnecessary dupstring() on already duplicated string when expanding =cmd. | ||||
* | users/22319: ${ary1:^ary2} should not change isarr state of expansion of ary1 | Barton E. Schaefer | 2017-01-03 | 1 | -2/+4 |
| | | | | Unless ary1 is made from a scalar, semantics of (@) in double quotes is lost. | ||||
* | 40071: change Dash back to "-" before evaluating named directory expansions | Barton E. Schaefer | 2016-12-03 | 1 | -0/+2 |
| | |||||
* | 40034: clear badcshglob when ignoring errors | Barton E. Schaefer | 2016-11-29 | 1 | -1/+3 |
| | |||||
* | 40035: Cosmetic fixes for comments and documentation. | Eitan Adler | 2016-11-29 | 1 | -1/+1 |
| | | | | Mostly fixes to doubled words. | ||||
* | 39949: Special case for "-" in directory names. | Peter Stephenson | 2016-11-15 | 1 | -8/+8 |
| | | | | | It can be sh-tokenized to Dash to allow for appearing in ranges after substitution, so needs to be turned back to "-" in that case. | ||||
* | 39579: Fix string calculation for parameter quoting. | Julien Cretin | 2016-10-06 | 1 | -3/+3 |
| | | | | | Where there was no closing quote the size or position of the null could be wrongly calculated. | ||||
* | 34943: Fixes for "command" with multiple options. | Peter Stephenson | 2016-09-29 | 1 | -1/+1 |
| | | | | | | These need to combine properly, and alos "command -p" with either -v or -V needs to search for builtins and then using the default system path. | ||||
* | zsh-users/21903: Fix ${...?...} in interactive shell. | Peter Stephenson | 2016-09-14 | 1 | -0/+7 |
| | | | | | 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. | ||||
* | 39252: internal: quotestring: Drop the 'e' parameter, which no caller uses. | Daniel Shahaf | 2016-09-11 | 1 | -6/+6 |
| | |||||
* | 39115: repair forced joining when (@) and (j) are used together | Barton E. Schaefer | 2016-08-29 | 1 | -2/+3 |
| | |||||
* | 39046 + 39061: New :P history modifier. | Daniel Shahaf | 2016-08-22 | 1 | -0/+13 |
| | |||||
* | 39035: ${(A)name=word} should expand as an array even when there is only one ↵ | Barton E. Schaefer | 2016-08-12 | 1 | -0/+1 |
| | | | | element. | ||||
* | 39028: more join/split cases fixed and tested. | Barton E. Schaefer | 2016-08-12 | 1 | -3/+4 |
| | |||||
* | 39019 (cf. PWS 39013): fix SHWORDSPLIT regression introduced by workers/29313 | Barton E. Schaefer | 2016-08-10 | 1 | -6/+15 |
| | | | | Also add test cases for more join/split combinations | ||||
* | 38973: Optimize indexing array parameters. | Daniel Shahaf | 2016-08-01 | 1 | -4/+11 |
| | | | | | | | | | | | % () { for 1 in $prefix/zsh/bin/zsh Src/zsh; do $1 -f -c 'a=( {1..1000000} ); repeat 3 time ( repeat 300 : $a[1] )'; done } ( repeat 300; do; : $a[1]; done; ) 1.68s user 0.01s system 98% cpu 1.718 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.710 total ( repeat 300; do; : $a[1]; done; ) 1.69s user 0.01s system 99% cpu 1.714 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.00s user 0.01s system 72% cpu 0.022 total ( repeat 300; do; : $a[1]; done; ) 0.01s user 0.01s system 69% cpu 0.023 total | ||||
* | 38599: skip the "no such named directory" warning when NO_EXEC is in effect | Barton E. Schaefer | 2016-06-04 | 1 | -1/+1 |
| | |||||
* | unposted: internal: Document modify(). | Daniel Shahaf | 2016-06-03 | 1 | -0/+13 |
| | |||||
* | users/21352: ensure $'' doesn't get elided. | Peter Stephenson | 2016-03-07 | 1 | -1/+5 |
| | | | | | Assign nulstring to it if empty. Test for all forms of quotation marks. | ||||
* | 37344: restore old printable quoting, add ${(q+)...}. | Peter Stephenson | 2015-12-07 | 1 | -4/+10 |
| | | | | | | The \C- form is only used inside quotedzputs(). ${(q+)...} outputs a quotedzputs() representation. | ||||
* | 37206: fix ${(t)param} for "typeset -H param" | Barton E. Schaefer | 2015-11-23 | 1 | -1/+1 |
| | |||||
* | 37096: Another $${(P)...} tweak. | Peter Stephenson | 2015-11-12 | 1 | -2/+17 |
| | | | | Make a top level (P) work with nested ones, i.e. ${(P)${(P)...}...} | ||||
* | 37094: Further tweaks to parameter name references. | Peter Stephenson | 2015-11-11 | 1 | -3/+3 |
| | | | | | | | | Safety in array test. Make nested references work. Add parameter tests. | ||||
* | 37092: make nested ${(P)name} properly refer to parameter on return | Peter Stephenson | 2015-11-11 | 1 | -44/+70 |
| | |||||
* | 37074: extend previous fix to over whitespace at end | Peter Stephenson | 2015-11-07 | 1 | -14/+36 |
| | |||||
* | 37073: another SH_WORD_SPLIT problem. | Peter Stephenson | 2015-11-06 | 1 | -6/+34 |
| | | | | | In cases like x${:- y} the space was simply removed instead of being used for splitting. | ||||
* | 35694: fix handling of history modifiers applied across all elements of an ↵ | Barton E. Schaefer | 2015-07-06 | 1 | -2/+8 |
| | | | | array parameter value | ||||
* | 35343: Avoid $#name length handling for POSIX_IDENTIFIERS | Peter Stephenson | 2015-05-31 | 1 | -1/+2 |
| | |||||
* | 35326: $#- was misparsed as ${#-} | Peter Stephenson | 2015-05-29 | 1 | -1/+1 |
| | |||||
* | 35153: nested math substitution | Peter Stephenson | 2015-05-15 | 1 | -2/+11 |
| | |||||
* | 35151: improved check for parameter q and b flags | Peter Stephenson | 2015-05-15 | 1 | -1/+2 |
| | |||||
* | 35067: Add (b) parameter flag for pattern char backslashing. | Peter Stephenson | 2015-05-10 | 1 | -2/+11 |
| | | | | | | Doc tweak from Daniel in 35071. Includes test. | ||||
* | 34606: fix up nested arithmetic substitution | Peter Stephenson | 2015-02-22 | 1 | -2/+18 |
| | | | | | | | | Arithmetic within a parameter substitution is a special case that needs fixing with the introduction of the new Inparmath token. Add test. | ||||
* | 34573: Safer failure to handle command substitution | Peter Stephenson | 2015-02-19 | 1 | -3/+7 |
| | |||||
* | 34570: Another nasty command / math substituion thing. | Peter Stephenson | 2015-02-19 | 1 | -11/+17 |
| | | | | | | 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. | ||||
* | 34322: bug with interface to parsestr() etc. | Peter Stephenson | 2015-01-18 | 1 | -3/+5 |
| | | | | | | | Was showing up in places like ${(e)...} where command substitution could reallocate the token string, but actually there was never any guarantee that the lexer wouldn't do that, so this was always a bit iffy. | ||||
* | 34105: subst: remove dead code | Mikael Magnusson | 2015-01-06 | 1 | -1/+1 |
| | | | | Found by Coverity (Issue 1255810). | ||||
* | 34103: fix ancient double-quote handling thinko in subst_parse_str() | Barton E. Schaefer | 2015-01-06 | 1 | -2/+4 |
| | | | | This doesn't seem to have mattered, but must in some obscure cases | ||||
* | 33976: fix overlapping strcpy() | Barton E. Schaefer | 2014-12-15 | 1 | -1/+1 |
| | |||||
* | 33876: etc.: Separate errors and keyboards interrupts | Peter Stephenson | 2014-12-11 | 1 | -9/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | 33423: expand ${(p)...} to allow ${(ps.$param.)...} | Peter Stephenson | 2014-10-12 | 1 | -5/+16 |
| | |||||
* | 33118: record original param unset state when treating empty the same as unset, | Barton E. Schaefer | 2014-09-06 | 1 | -6/+9 |
| | | | | to avoid incorrect NO_UNSET errors | ||||
* | unposted: remove unused variables | Peter Stephenson | 2014-08-04 | 1 | -1/+1 |
| | |||||
* | 32949 (wip 32928, 32937): Add :^ syntax for zipping two arrays | Mikael Magnusson | 2014-08-04 | 1 | -0/+61 |
| |