summary refs log tree commit diff
path: root/Src/loop.c
Commit message (Collapse)AuthorAgeFilesLines
* 36022 fix bug that some loop constructs could not be interrupted, revise ↵Barton E. Schaefer2015-08-091-3/+38
| | | | | | | | | | | signal queueing There are two underlying ideas here: (1) Keeping signals queued around anything that's doing memory management (including push/pop of the heap) has become crucial. (2) Anytime the shell is going to run a command, be it buitin or external, it must be both safe and necessary to process any queued signals, so that the apparent order of signal arrival and command execution is preserved.
* 35168: Improve parsing of case patterns.Peter Stephenson2015-05-181-37/+51
| | | | | | | | | | | | | | "|" is now found properly by looking for words that come from the lexical analyser, rather than hacking a pattern returned in one dollop. Update some completion functions that need extra quoting as a result. Add test for new parsing. Update version number to 5.0.8-dev-3 because of wordcode incompatibility.
* select: Fix leak of 256 bytes on every loop when zle is not usedMikael Magnusson2015-01-101-1/+1
| | | | | | | Reproduce by yes | head -n 1000000 | zsh -c 'select foo in a b c; do done; sleep 30; echo' Found by Coverity (Issue 439082).
* 34065: following an "if" condition, do not test lastval for ERR_EXIT until a ↵Barton E. Schaefer2014-12-271-5/+11
| | | | | | new command is run Includes unposted regression tests.
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 33791: fatal errors in an "always" construct yield nonzero statusBarton E. Schaefer2014-11-251-2/+3
| | | | | | Fatal errors in the try-block part of an "always" construct cause the entire construct to have nonzero status, even when TRY_BLOCK_ERROR is used to suppress the error.
* 32569: lastval ($?) should not be reset between word list substitution and ↵Barton E. Schaefer2014-04-201-3/+3
| | | | | | loop body execution in for/select Remove one other redundant and therefore confusing assignment to lastval.
* 32568: consistency in handling of errflag condition during substitutionsBarton E. Schaefer2014-04-201-2/+12
| | | | | Affects for/select word lists, function definition name position, and anonymous function argument lists.
* 29165: use term.h globally if needed at all.Peter Stephenson2011-05-091-3/+3
|
* 25345, 25347: neaten interface from main shell to zlePeter Stephenson2008-07-311-2/+3
|
* 25002: only ZLE should update attributes resulting from prompt expansionPeter Stephenson2008-05-121-2/+2
|
* 24996: improve xtrace output for patternsPeter Stephenson2008-05-111-3/+3
|
* users/12848: return, break, continue in always block override try blockPeter Stephenson2008-05-111-7/+7
|
* 23670: rationalise some linked list functionsPeter Stephenson2007-06-271-8/+2
|
* 23115: ";|" at end of case clause causes later patterns to be testedPeter Stephenson2007-01-191-3/+4
|
* 22474: use variable argument lists to improve error message handlingPeter Stephenson2006-05-301-1/+1
|
* 21814: error handling for traps in "always" constructs.Bart Schaefer2005-12-151-1/+10
|
* Got rid of some unsigned-char/char pointer casts.Wayne Davison2005-11-151-1/+1
|
* c.f. 20675: improve zle as a basis for Unicode.Peter Stephenson2005-01-141-2/+2
| | | | unposted: update version to 4.2.3-dev-1
* 20149: improve prompt-reset codePeter Stephenson2004-07-111-1/+1
| | | | 20150: commit ancient memory leak fix(?) in completion
* 20076, 20084: { ... } always { ... } syntax.Peter Stephenson2004-06-221-0/+65
|
* Marked unused parameters with the new UNUSED() macro.Wayne Davison2004-06-021-3/+3
|
* Made a variable (t2) size_t so that it matched the size of theWayne Davison2004-05-281-1/+2
| | | | other variable it gets compared with (fw).
* 19295: $CONTEXT zle parameterPeter Stephenson2003-12-151-1/+1
|
* 18252: pass ignoreeof as flag to zlereadPeter Stephenson2003-02-171-3/+1
|
* 18251: Fix select and make it respect EOFPeter Stephenson2003-02-171-1/+3
|
* allow nterruption of empty while-loops with ^C (16711)Sven Wischnowsky2002-02-251-31/+47
|
* Fix infinite loop on `case' with xtrace.Bart Schaefer2001-10-231-3/+2
|
* for caching of compiled patterns: remember that singsub() might modify the ↵Sven Wischnowsky2001-10-151-2/+2
| | | | string it gets, compare with unmodified string (16041)
* 15030: multi-parameter `for' loopsPeter Stephenson2001-06-251-24/+43
|
* 11956: Fix off-by-one error.Bart Schaefer2000-06-171-1/+1
|
* Small doc fix and AIX dependency fixOliver Kiddle2000-05-051-1/+1
|
* Updated from list as far as 10376Peter Stephenson2000-04-011-109/+271
|
* Initial revisionTanaka Akira1999-04-151-0/+421