Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 39777: $() is a valid empty command substitution | Peter Stephenson | 2016-10-30 | 1 | -1/+1 |
| | |||||
* | 39332: support ksh's [[ -v varname ]] condition for checking if variables ↵ | Oliver Kiddle | 2016-09-16 | 1 | -2/+2 |
| | | | | are set | ||||
* | unposted: remove duplicated assignment | Oliver Kiddle | 2016-09-15 | 1 | -1/+0 |
| | |||||
* | 39292: Distinguish "=" and "==" tests in output. | Peter Stephenson | 2016-09-13 | 1 | -2/+7 |
| | | | | | This is both in xtrace output and shell code rebuilt from internal structures. | ||||
* | 38111: Remove redundant return values in parsing. | Peter Stephenson | 2016-03-07 | 1 | -11/+4 |
| | | | | Return values from par_list() and par_list1() are no longer used. | ||||
* | 38106: if...then if...else should be a parse error. | Barton E. Schaefer | 2016-03-06 | 1 | -1/+1 |
| | |||||
* | 37700: Teach ${(z)} the 'repeat WORD SUBLIST' syntax. | Daniel Shahaf | 2016-01-29 | 1 | -0/+10 |
| | |||||
* | 37469: do NOT allow semicolons in place of line breaks in conditionals | Barton E. Schaefer | 2015-12-31 | 1 | -14/+16 |
| | |||||
* | 37468: allow line breaks in more places in [[ ... ]] | Barton E. Schaefer | 2015-12-31 | 1 | -8/+12 |
| | |||||
* | 36974: fix some functions with empty argument lists | Peter Stephenson | 2015-10-27 | 1 | -1/+1 |
| | |||||
* | 36566: check for regular file before lseek() | Barton E. Schaefer | 2015-09-19 | 1 | -0/+3 |
| | |||||
* | unposted: fix up for 5.0.8-test-2 zsh-5.0.8-test-2 | Peter Stephenson | 2015-08-21 | 1 | -1/+1 |
| | |||||
* | 36265 plus FAQ: fix alias expansion after "function" | Peter Stephenson | 2015-08-21 | 1 | -2/+3 |
| | | | | | | | Owing to interesting historical parsing, names after the first were treated as command words so had non-global aliases expanded. Add an FAQ note that use of the function keyword works around other alias problems | ||||
* | 36022 fix bug that some loop constructs could not be interrupted, revise ↵ | Barton E. Schaefer | 2015-08-09 | 1 | -0/+8 |
| | | | | | | | | | | | 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. | ||||
* | 35643: Redirections after typeset assignments were broken. | Peter Stephenson | 2015-06-28 | 1 | -0/+2 |
| | |||||
* | various posts: Implement assignment parsing for typeset. | Peter Stephenson | 2015-06-24 | 1 | -21/+110 |
| | | | | | | | | | | | | Typeset assignments now work like raw assignments except for no "+=" and no GLOB_ASSIGN. Documented in typeset builtin doc and mentioned in release notes. Tests to ensure basic sanity. Enabled by default, can be turned off by "disable -r" with typeset family of commands. | ||||
* | 35306: "test -z \(" failed due to parse confusion | Peter Stephenson | 2015-05-27 | 1 | -8/+17 |
| | |||||
* | 35250: Fix case documentation (SH_GLOB) | Peter Stephenson | 2015-05-21 | 1 | -2/+2 |
| | |||||
* | 35248: treat fully parenthised zsh patterns as complete case patterns again | Peter Stephenson | 2015-05-21 | 1 | -10/+85 |
| | |||||
* | 35184: Additional case fix for 35168. | Peter Stephenson | 2015-05-18 | 1 | -2/+0 |
| | | | | | Lexical analysis flags got screwed up after a "|", so we didn't parse patterns properly, in particular those with parentheses. | ||||
* | 35168: Improve parsing of case patterns. | Peter Stephenson | 2015-05-18 | 1 | -66/+23 |
| | | | | | | | | | | | | | | "|" 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. | ||||
* | 34921: handle error in recursive par_event(). | Peter Stephenson | 2015-04-17 | 1 | -0/+1 |
| | | | | Here documents in an interrupted list caused bad juju. | ||||
* | 34905: no parse error after keyboard interrupt. | Peter Stephenson | 2015-04-17 | 1 | -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. | ||||
* | 34514: Back out 34485, an alternate solution needs to be worked out. | Barton E. Schaefer | 2015-02-12 | 1 | -2/+4 |
| | | | | (Tweaked to keep the unrelated hunk of the E01 test.) | ||||
* | 34485: More rationalisation for anonymous functions. | Peter Stephenson | 2015-02-09 | 1 | -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(). | ||||
* | Rearrange context saving. | Peter Stephenson | 2015-01-09 | 1 | -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. | ||||
* | Fix command substitutions to parse contents as they are read in. | Peter Stephenson | 2015-01-08 | 1 | -9/+20 |
| | | | | | | | Do this by refactoring misnamed lexsave()/lexrestore() to allow continuity of history and input. Add test. | ||||
* | 33876: etc.: Separate errors and keyboards interrupts | Peter Stephenson | 2014-12-11 | 1 | -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. | ||||
* | unposted: fix compiler set-but-not-used warning. | Wayne Davison | 2014-11-28 | 1 | -2/+4 |
| | |||||
* | 33346: another bit of the 33345 repair | Bart Schaefer | 2014-10-03 | 1 | -1/+2 |
| | |||||
* | 33345: fix anonymous function complex command handling. | Peter Stephenson | 2014-10-03 | 1 | -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. | ||||
* | unposted: comments in previous commit were reversed | Peter Stephenson | 2014-10-03 | 1 | -4/+4 |
| | |||||
* | 33343: Variant anonymous function synax with arguments. | Peter Stephenson | 2014-10-03 | 1 | -7/+24 |
| | | | | Don't expand arguments as if in command position. Test. | ||||
* | 33285: apply function definition redirections at execution | Peter Stephenson | 2014-09-29 | 1 | -9/+78 |
| | |||||
* | 33242: tokens following if, for, repeat, while aren't in command position | Peter Stephenson | 2014-09-26 | 1 | -2/+14 |
| | |||||
* | 32609: [[ $var ]] behaves as [[ -n $var ]] for bash/ksh compatibility | Barton E. Schaefer | 2014-05-13 | 1 | -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. | ||||
* | 32552 (updated by 32560): fix segfault when using process substitution in ↵ | Andrew Waldron | 2014-04-18 | 1 | -2/+2 |
| | | | | | | anonymous function argument list Also disallow process substitution in function name position. | ||||
* | 31696: In "test" No One Can Hear If You Shriek. | Peter Stephenson | 2013-09-04 | 1 | -3/+11 |
| | | | | Treat ! as a string in "test ! -a ..." and "test ! -o ...". | ||||
* | 31574: alternative fix for bad fd if no FD_CLOEXEC. | Peter Stephenson | 2013-07-25 | 1 | -8/+16 |
| | | | | Remove dump records more consistently in that case. | ||||
* | 31545: Use of FD_CLOEXEC to remove possibility of fd reuse. | Peter Stephenson | 2013-07-20 | 1 | -0/+7 |
| | | | | | File descriptors of mmap'd dump files are closed if and only if an exec is performed. | ||||
* | this prevent process-based features from working in their arguments | Peter Stephenson | 2012-12-21 | 1 | -2/+4 |
| | |||||
* | 30735: array substitutions aren't simple: | Peter Stephenson | 2012-10-25 | 1 | -0/+5 |
| | | | | prevent crash on process substitution therein | ||||
* | 30726: make shell options passed to emulate stick along with the emulation | Peter Stephenson | 2012-10-11 | 1 | -1/+1 |
| | |||||
* | 30715: use enum lextok for variables containing lexical tokens | Peter Stephenson | 2012-10-05 | 1 | -22/+25 |
| | |||||
* | 29633: more care with anonymous and other functions | Peter Stephenson | 2011-08-03 | 1 | -2/+8 |
| | |||||
* | 29626: arguments to anonymous functions shouldn't be parsed as command words | Peter Stephenson | 2011-07-28 | 1 | -0/+2 |
| | |||||
* | 29492: add argument handling to anonymous functions | Peter Stephenson | 2011-06-19 | 1 | -2/+28 |
| | |||||
* | 29491: remove some variables set but not used | Peter Stephenson | 2011-06-19 | 1 | -2/+2 |
| | |||||
* | Paul 28538 / me 28540 / couple of unposted casts: | Peter Stephenson | 2010-12-20 | 1 | -4/+4 |
| | | | | use char * for pointer arithmetic rather than void * | ||||
* | 28338: keep =~ from inverting sense of subsequent tests (after &&/||) | pdpennock | 2010-10-10 | 1 | -1/+2 |
| |