summaryrefslogtreecommitdiff
path: root/Src/parse.c
AgeCommit message (Collapse)AuthorFilesLines
2015-04-1734921: handle error in recursive par_event().Peter Stephenson1-0/+1
Here documents in an interrupted list caused bad juju.
2015-04-1734905: no parse error after keyboard interrupt.Peter Stephenson1-1/+1
Handled generally, though only showing up in special nested cases. Also fix ZLE so it doesn't cancel the interrupt flag when not actually returning from a local keymap.
2015-02-1234514: Back out 34485, an alternate solution needs to be worked out.Barton E. Schaefer1-2/+4
(Tweaked to keep the unrelated hunk of the E01 test.)
2015-02-0934485: More rationalisation for anonymous functions.Peter Stephenson1-4/+2
Don't attempt to treat as "simple" case as there are too many hidden problems. Pull out some post-execution functions to a common case in execcmd().
2015-01-09Rearrange context saving.Peter Stephenson1-3/+80
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.
2015-01-08Fix command substitutions to parse contents as they are read in.Peter Stephenson1-9/+20
Do this by refactoring misnamed lexsave()/lexrestore() to allow continuity of history and input. Add test.
2014-12-1133876: etc.: Separate errors and keyboards interruptsPeter Stephenson1-15/+16
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-11-28unposted: fix compiler set-but-not-used warning.Wayne Davison1-2/+4
2014-10-0333346: another bit of the 33345 repairBart Schaefer1-1/+2
2014-10-0333345: fix anonymous function complex command handling.Peter Stephenson1-83/+84
Longstanding problem caused simple anonymous function incorrectly to reset the overall "complext" state, causing wordcode to be diverted into execsimple(), which caused a crash 'cos ist wasn't simple.
2014-10-03unposted: comments in previous commit were reversedPeter Stephenson1-4/+4
2014-10-0333343: Variant anonymous function synax with arguments.Peter Stephenson1-7/+24
Don't expand arguments as if in command position. Test.
2014-09-2933285: apply function definition redirections at executionPeter Stephenson1-9/+78
2014-09-2633242: tokens following if, for, repeat, while aren't in command positionPeter Stephenson1-2/+14
2014-05-1332609: [[ $var ]] behaves as [[ -n $var ]] for bash/ksh compatibilityBarton E. Schaefer1-13/+28
Also restore ksh [ -t ] compatibility when POSIX_BUILTINS is not set, and allow operators defined by modules to be called with no arguments, although this affects only runtime interpretation, not parsing.
2014-04-1832552 (updated by 32560): fix segfault when using process substitution in ↵Andrew Waldron1-2/+2
anonymous function argument list Also disallow process substitution in function name position.
2013-09-0431696: In "test" No One Can Hear If You Shriek.Peter Stephenson1-3/+11
Treat ! as a string in "test ! -a ..." and "test ! -o ...".
2013-07-2531574: alternative fix for bad fd if no FD_CLOEXEC.Peter Stephenson1-8/+16
Remove dump records more consistently in that case.
2013-07-2031545: Use of FD_CLOEXEC to remove possibility of fd reuse.Peter Stephenson1-0/+7
File descriptors of mmap'd dump files are closed if and only if an exec is performed.
2012-12-21this prevent process-based features from working in their argumentsPeter Stephenson1-2/+4
2012-10-2530735: array substitutions aren't simple:Peter Stephenson1-0/+5
prevent crash on process substitution therein
2012-10-1130726: make shell options passed to emulate stick along with the emulationPeter Stephenson1-1/+1
2012-10-0530715: use enum lextok for variables containing lexical tokensPeter Stephenson1-22/+25
2011-08-0329633: more care with anonymous and other functionsPeter Stephenson1-2/+8
2011-07-2829626: arguments to anonymous functions shouldn't be parsed as command wordsPeter Stephenson1-0/+2
2011-06-1929492: add argument handling to anonymous functionsPeter Stephenson1-2/+28
2011-06-1929491: remove some variables set but not usedPeter Stephenson1-2/+2
2010-12-20Paul 28538 / me 28540 / couple of unposted casts:Peter Stephenson1-4/+4
use char * for pointer arithmetic rather than void *
2010-10-1028338: keep =~ from inverting sense of subsequent tests (after &&/||)pdpennock1-1/+2
2010-09-1428259: Finally fix some ancient problems with here-documentsPeter Stephenson1-7/+24
2009-12-16Check the return value of all pipe(), read(), and write() calls.Wayne Davison1-5/+5
Gets rid of all the remaining "ignoring return value" compiler warnings, and makes some read/write operations safer by ensuring that an EINTR is handled.
2009-09-2227284: better use of movefd()Peter Stephenson1-0/+2
2009-07-17users/14240: assignment before a function definition is an errorPeter Stephenson1-1/+7
2009-07-0627092: missing then-clause for if wasn't an errorPeter Stephenson1-0/+4
2009-02-25c.f. 26586: rename yylex to zshlex and yytext to zshlextextPeter Stephenson1-98/+98
2009-02-1126546, 26556: sticky emulation for functions defined in emulate ... -c ...Peter Stephenson1-0/+1
environments, plus documentation
2008-11-1826061: fix clash between process subst and numeric globPeter Stephenson1-4/+5
26062: additional compmatch change, missed from 26047
2008-09-29users/13295, tweaked: dont reset line numbers when parsing strings, sometimesPeter Stephenson1-1/+1
2008-09-24users/13288: Src/parse.c: don't report parse errors on aborted linesPeter Stephenson1-6/+8
2008-09-1125641: add emulation option (NO_)MULTI_FUNC_DEFPeter Stephenson1-0/+3
2008-09-0125587: fix a==(stuff) and associated stuff.Peter Stephenson1-0/+12
2008-08-3125571: when parsing use line numbers for the start of a token, not the endPeter Stephenson1-1/+1
add test and move debug trap tests to new file
2008-08-1125247 with further modifications: add $funcsourcetracePeter Stephenson1-4/+8
2008-07-0125262: suspicious error checking in braceless function definitionPeter Stephenson1-2/+1
2008-03-1424711: fix re-presentation of here-documents munged internallyPeter Stephenson1-1/+5
to here-strings
2008-01-10users/12412: check for extra arguments in test and [Peter Stephenson1-0/+6
2007-06-2723670: rationalise some linked list functionsPeter Stephenson1-1/+1
2007-05-29Phil Pennock: 23480: typoPeter Stephenson1-1/+1
Also typo in mod_stat.yo
2007-05-0123375: Phil Pennock: =~, zsh/regex etc. etc.Peter Stephenson1-0/+6
2007-04-23unposted: fix error message for short ZWC filePeter Stephenson1-1/+1