summary refs log tree commit diff
path: root/Src/loop.c
Commit message (Collapse)AuthorAgeFilesLines
* 48857: declare "volatile" all globals that may be modified by signal handlersBart Schaefer2021-05-161-1/+1
|
* 48787: Fix command status after failed ifPeter Stephenson2021-05-061-1/+1
| | | | | | | If "if" had a hard error in the condition, and there was no else clause, the command status was incorrectly cleared to zero. Add test.
* 47296 (+ unposted additional tests and comments): 'repeat' loops: Let the ↵Daniel Shahaf2020-08-081-1/+1
| | | | | | repeat count use $?. It's an arithmetic expression.
* 45616: Remove token from count argument to repeatPeter Stephenson2020-03-261-1/+3
|
* Merge remote-tracking branch 'origin/master' into 5.9Daniel Shahaf2020-03-071-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Test/D02glob.ztst: On the "unreadable directories can be globbed (users/24619, users/24626)" test, resolve conflicts by removing the Cygwin-only skip that has been added in master, since the test is passing on this branch. This effectively reverts workers/45492. See discussion starting in workers/45504. * origin/master: unposted: Remove 'sgi', as that OpenBSD port has been discontinued. 45509: fix typos in B01cd.ztst 45490 (+45495 and a test): refactor rlimits.c github #49: Fix typo: longson should be loongson users/24710: Fix job control problem with sudo. 45492: skip test added by users/24633 on Cygwin 45488: COMP_WORDS for bash need "$@"-style quoting 45487: Missing mod_export declarations for AIX 45447: Complete vcs_info_hookadd and vcs_info_hookdel. Expose _vcs_info_hooks as a top-level helper function. 45463: test: kill: Document why we use SIGURG 45453: builtins: kill: Do not signal current process group when pid is empty 45452: builtins: kill: Add `kill ''` regression test with explicit sigspec 45451: builtins: kill: Add basic test suite github #48/0002: vcs_info git: properly detect bare repositories github #48/0001: vcs_info git: avoid warnings in bare repositories unposted: Post-release version bump unposted: Release 5.8 CVE-2019-20044: Update change log for preceding commits Update NEWS/README Add unsetopt/PRIVILEGED tests Clean up error-message white space Improve PRIVILEGED fixes (again) Improve PRIVILEGED fixes Drop privileges securely unposted: V01zmodload: Fix failing test from workers/45385 45423: _su: Improve arg handling, shell look-ups unposted: _zip: Recognise '--' 45385: Add a test for 'zmodload -Fa' preemptively disabling ("blacklisting"?) features. unposted: Test release: 5.7.1-test-3 zsh/system: Fix infinite loop in sysread _diff_options: Restore -w completion lost in workers/43351 unposted: Fix ChangeLog typo. 45368: Add tests for workers/45367's issue about double slashes in 'cd -P' and /home/daniel/in/zsh. 45373: Fix ERR_EXIT bug in else branch of if. 45372: Record a symlink loop bug involving :P 45365: _git: Fix __git_recent_branches for the case when a commit has an empty message 45343: Queue signals around arithmetic evaluations 45344: Document where third-party completion functions should be installed. 45345: internal: ztst.vim: Fix highlighting of zsh comments in test payload unposted: internal: Add some comments and fix indentation. No functional change. 45340: internal: Document the difference between paramtab and realparamtab. 45332: _git: add completion for git-version _brace_parameter: add missing \ Conflicts: ChangeLog Test/D02glob.ztst Test/V01zmodload.ztst
| * 45373: Fix ERR_EXIT bug in else branch of if.Peter Stephenson2020-02-021-1/+1
| | | | | | | | | | The flags need resetting for this branch otherwise e.g. command substitution with non-zero status doesn't cause exit.
* | 45304: Do execute the always block even when the try/always block itself is ↵Daniel Shahaf2020-01-161-1/+1
|/ | | | | | the last command. Fixes the test added in the previous commit (workers/45305).
* 45076: internal: Simplify handling of try_tryflag. No functional change.Daniel Shahaf2019-12-181-6/+3
| | | | | try_tryflag isn't assigned anywhere, other than at initialization and by these lines, so we don't need to save and restore the value.
* 44271: Fix breaks propagated from until or return.Peter Stephenson2019-05-031-2/+6
| | | | | | If the until or return test caused continuation but there was a pending return, breaks didn't get cancelled causing enclosing scope to skip commands.
* 41723: one more case of 41627 in "while" loops.Barton E. Schaefer2017-09-181-1/+1
|
* Fix problem with ERR_RETURN.Peter Stephenson2017-08-311-4/+3
| | | | | | | It wasn't suppressed properly in the code following an if in some circumstances, in particular in initialsation scripts and also in a nested function where the caller had suppressed it.
* 41590 modified as 41595: make ERR_RETURN more logical.Peter Stephenson2017-08-241-2/+7
| | | | | | | | It now operates separately at each function depth. To keep ERR_EXIT global, make the noerrexit variable usd bit flags. Extend tests.
* 40453: signal handler safety for callers of patcompile(PAT_STATIC), which is ↵Barton E. Schaefer2017-01-291-1/+5
| | | | not re-entrant.
* Extra case for ERR_RETURN and ERR_EXIT.Peter Stephenson2016-12-051-0/+6
| | | | | | 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.
* 39844: fix "while" condition as per 39839 (commit 2c56c7e5)Barton E. Schaefer2016-11-051-4/+3
|
* 39839: fix "return" from "if" conditionBarton E. Schaefer2016-11-051-1/+2
|
* 39625: case needs to reset lastval if no pattern matchedMartijn Dekker2016-10-131-2/+6
|
* 39599: Don't reset status before "case" executionPeter Stephenson2016-10-101-1/+0
|
* 39448: reset REPLY in select on user actionMartijn Dekker2016-09-261-0/+2
|
* 38734: fix final case clauses terminating with ;&Peter Stephenson2016-06-211-1/+1
|
* 37804 (plus 37816): first word following "repeat" should be evaluated as mathBarton E. Schaefer2016-01-271-1/+3
|
* unposted: back out 36707, add test case for 36766Barton E. Schaefer2015-10-031-6/+2
|
* 36707: distinguish ERR_RETURN value of retflag so that execif() can ignore ↵Barton E. Schaefer2015-09-301-2/+6
| | | | it in the test sublist
* 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
|