summaryrefslogtreecommitdiff
path: root/Src/subst.c
AgeCommit message (Collapse)AuthorFilesLines
2015-05-3135343: Avoid $#name length handling for POSIX_IDENTIFIERSPeter Stephenson1-1/+2
2015-05-2935326: $#- was misparsed as ${#-}Peter Stephenson1-1/+1
2015-05-1535153: nested math substitutionPeter Stephenson1-2/+11
2015-05-1535151: improved check for parameter q and b flagsPeter Stephenson1-1/+2
2015-05-1035067: Add (b) parameter flag for pattern char backslashing.Peter Stephenson1-2/+11
Doc tweak from Daniel in 35071. Includes test.
2015-02-2234606: fix up nested arithmetic substitutionPeter Stephenson1-2/+18
Arithmetic within a parameter substitution is a special case that needs fixing with the introduction of the new Inparmath token. Add test.
2015-02-1934573: Safer failure to handle command substitutionPeter Stephenson1-3/+7
2015-02-1934570: Another nasty command / math substituion thing.Peter Stephenson1-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.
2015-01-1834322: bug with interface to parsestr() etc.Peter Stephenson1-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.
2015-01-0634105: subst: remove dead codeMikael Magnusson1-1/+1
Found by Coverity (Issue 1255810).
2015-01-0634103: fix ancient double-quote handling thinko in subst_parse_str()Barton E. Schaefer1-2/+4
This doesn't seem to have mattered, but must in some obscure cases
2014-12-1533976: fix overlapping strcpy()Barton E. Schaefer1-1/+1
2014-12-1133876: etc.: Separate errors and keyboards interruptsPeter Stephenson1-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.
2014-10-1233423: expand ${(p)...} to allow ${(ps.$param.)...}Peter Stephenson1-5/+16
2014-09-0633118: record original param unset state when treating empty the same as unset,Barton E. Schaefer1-6/+9
to avoid incorrect NO_UNSET errors
2014-08-04unposted: remove unused variablesPeter Stephenson1-1/+1
2014-08-0432949 (wip 32928, 32937): Add :^ syntax for zipping two arraysMikael Magnusson1-0/+61
2014-08-0132932: add hmkarray() and use to fix leakPeter Stephenson1-1/+1
2014-04-1832552 (updated by 32560): fix segfault when using process substitution in ↵Andrew Waldron1-1/+1
anonymous function argument list Also disallow process substitution in function name position.
2014-01-2332299: add use of underscores on arithmetic output for spacingPeter Stephenson1-4/+4
2013-11-1732001: fix crash on ${:*} and ${:|}Peter Stephenson1-0/+8
2013-01-2230993: fix parameter modifier crash with :wq on empty stringPeter Stephenson1-1/+9
2012-10-0530715: use enum lextok for variables containing lexical tokensPeter Stephenson1-7/+7
2012-08-2130633: "functions -T" only traces marked function, not called functionsPeter Stephenson1-0/+2
2012-04-22unposted: add test for valid identifier to 30431Peter Stephenson1-1/+8
2012-04-2230439: ${...:*...} with nonexistent or non-array after *Peter Stephenson1-0/+13
should return no results
2012-04-2230431 with typo in _typeset fix:Peter Stephenson1-0/+43
add ${...:|...} and ${...:*...} operators, as documented
2012-04-1630413: (q-) parameter flag should quote null stringPeter Stephenson1-0/+4
(q-q) etc. should be treated as errors
2012-02-2930299: "$*" was split with SHWORDSPLIT if IFS was empty or unsetPeter Stephenson1-1/+1
2012-02-2030242: use PREFORK_SINGLE for ${...=...} in POSIX emulationBart Schaefer1-1/+6
2012-02-1230181, plus rename of PF_* flags to PREFORK_*:Peter Stephenson1-36/+75
Pass sh-wordsplitting instructions to paramsubst() using flags, avoiding side effects of explicitly setting and unsetting the SHWORDSPLIT option.
2011-12-2130041: fix bash-style offsets for positional parameters when scalarsPeter Stephenson1-15/+17
2011-11-28Ismail Dönmez: 29920: NO_EXEC problem with arithmetic substitutionPeter Stephenson1-1/+4
2011-08-1729703: crash when failing to parse process substitutionsPeter Stephenson1-0/+2
2011-07-0129530: ${...?...} shouldn't cause an error with NO_EXEC optionPeter Stephenson1-13/+15
2011-06-0629462: fix warningPeter Stephenson1-1/+1
2011-06-0329451: ${##stuff} removes stuff from the head of $#Peter Stephenson1-1/+10
2011-05-2329351: casts needed to pass integers through stdargPeter Stephenson1-2/+3
2011-05-1929224: Support negative LEN in ${VAR:OFFSET:LEN} like bash.Mikael Magnusson1-9/+31
2011-05-1929261: Add g:: flag.Mikael Magnusson1-0/+56
2011-05-1929307, 29308 + replies: Fix some doubled words in docs and comments.Mikael Magnusson1-2/+2
2011-05-1829313: better sh emulation with SHWORDPLIT and empty $IFSBart Schaefer1-13/+18
2011-03-2128936: ${#$} and ${#?} also didn't workPeter Stephenson1-0/+2
2011-03-1128889: ${##} should return the length of $#Peter Stephenson1-0/+1
2011-03-11users/15864: turn zsh_directory_name into a hookPeter Stephenson1-3/+1
2011-01-18Mikael: 28637: ${foo:0:} caused crashPeter Stephenson1-6/+8
2010-12-1528530: replace (z+opts+) flag with (Z:opts:), add reserved (_:flags:).Bart Schaefer1-8/+34
2010-12-1428528: Rearrange zleparse to lexflagsPeter Stephenson1-8/+11
Add (z+n+)
2010-12-1228510: add (z+c+) and (z+C+) parameter flagsPeter Stephenson1-2/+27
2010-11-2528434: make ${NAME:OFFSET} always use zero-offsetPeter Stephenson1-6/+5