Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 37435 (+ fix typo): allow execution of empty files as "sh" scripts | Barton E. Schaefer | 2015-12-25 | 1 | -1/+2 |
| | |||||
* | 37434: POSIXBUILTINS "command" should prevent shell exit on errors from ↵ | Barton E. Schaefer | 2015-12-25 | 1 | -3/+5 |
| | | | | special builtins | ||||
* | 37202: suppress WARN_CREATE_GLOBAL warnings after a fork | Peter Stephenson | 2015-12-04 | 1 | -1/+1 |
| | |||||
* | unposted: fix init_io() calls in previous change | Peter Stephenson | 2015-12-04 | 1 | -1/+1 |
| | |||||
* | 37092: make nested ${(P)name} properly refer to parameter on return | Peter Stephenson | 2015-11-11 | 1 | -7/+9 |
| | |||||
* | 36853: replace pushheap/popheap by NEWHEAPS/OLDHEAPS in doshfunc() to ↵ | Barton E. Schaefer | 2015-10-14 | 1 | -201/+201 |
| | | | | | | optimize memory management Includes re-indentation that was not done in the posted patch. | ||||
* | unposted: back out 36707, add test case for 36766 | Barton E. Schaefer | 2015-10-03 | 1 | -1/+1 |
| | |||||
* | 36766: fix incorrect reset of noerrexit during "if" conditions | Barton E. Schaefer | 2015-10-03 | 1 | -1/+2 |
| | |||||
* | 36707: distinguish ERR_RETURN value of retflag so that execif() can ignore ↵ | Barton E. Schaefer | 2015-09-30 | 1 | -1/+1 |
| | | | | it in the test sublist | ||||
* | 36651: WARN_CREATE_GLOBAL += math expressions | Daniel Shahaf | 2015-09-27 | 1 | -1/+2 |
| | | | | | Without this, '() { (( x=42 )) }' and '() { for (( i=0; … )) }' wouldn't warn about $x and $i, respectively, being created global. | ||||
* | 36378: skip directories when looking for files to autoload | Peter Stephenson | 2015-09-02 | 1 | -1/+3 |
| | |||||
* | 36104: change order of child_block() and dont_queue_signals() to resolve yet ↵ | Barton E. Schaefer | 2015-08-11 | 1 | -1/+1 |
| | | | | another race condition | ||||
* | 36022 fix bug that some loop constructs could not be interrupted, revise ↵ | Barton E. Schaefer | 2015-08-09 | 1 | -7/+42 |
| | | | | | | | | | | | 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. | ||||
* | 35849: close fd's from process substitution after fork | Peter Stephenson | 2015-07-23 | 1 | -2/+3 |
| | | | | Leaving these hanging in parent could cause deadlock: test added. | ||||
* | 35751: Fix ERR_RETURN and ERR_EXIT in "else" | Peter Stephenson | 2015-07-09 | 1 | -1/+7 |
| | |||||
* | 35655: APPEND_CREATE option for POSIX copmatible NO_CLOBBER | Peter Stephenson | 2015-06-29 | 1 | -1/+2 |
| | |||||
* | 35634: handle failure of gettempname() in namedpipe() | Barton E. Schaefer | 2015-06-27 | 1 | -0/+4 |
| | |||||
* | 35604: create empty arrays in typeset with array=() | Peter Stephenson | 2015-06-25 | 1 | -9/+12 |
| | |||||
* | various posts: Implement assignment parsing for typeset. | Peter Stephenson | 2015-06-24 | 1 | -18/+158 |
| | | | | | | | | | | | | 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. | ||||
* | 35493: erase $_ when the command line is an assignment | Barton E. Schaefer | 2015-06-16 | 1 | -0/+1 |
| | |||||
* | GLOB_ASSIGN should only affect scalar assignments | Mikael Magnusson | 2015-06-02 | 1 | -2/+2 |
| | |||||
* | 35318: POSIX_BUILTINS behaviour for getopts. | Peter Stephenson | 2015-05-28 | 1 | -4/+8 |
| | | | | | It needs to keep OPTIND, as well as the index within the string pointed to by OPTIND, global in this case. | ||||
* | Tweak test for function level of exit. | Peter Stephenson | 2015-05-22 | 1 | -1/+1 |
| | | | | | Sometimes local level jumps so we need an inequality instead of an equality. | ||||
* | users/20203: nested functions in always blocks when exit pending | Peter Stephenson | 2015-05-13 | 1 | -1/+9 |
| | |||||
* | 34989: AUTO_CD needs to call cd --. | Peter Stephenson | 2015-04-28 | 1 | -0/+1 |
| | | | | Otherwise directories looking like options do the wrong thing. | ||||
* | 34979: Preserve job text when doing shell job fix. | Peter Stephenson | 2015-04-28 | 1 | -1/+14 |
| | | | | | | This handles list_pipe_text in execlist() along with other variables that are saved and restored and, in the special case of source, cleared. | ||||
* | 34955: save and restore list_pipe_job with its friends | Peter Stephenson | 2015-04-24 | 1 | -2/+4 |
| | | | | This is needed to stop source() messing up job control. | ||||
* | 34900: assignment before an "exec". | Peter Stephenson | 2015-04-15 | 1 | -7/+14 |
| | | | | | | Without POSXIBUILTIN: restore after, so we only get side effects. With POSXIBUILTIN: keep set variable | ||||
* | 34887: Fix POSIX_BUILTINS with assignment. | Peter Stephenson | 2015-04-15 | 1 | -7/+21 |
| | | | | | | | | | | | In the form var=val command special-builtin-or-func the var is restored after execution, unlike the case where "command" is absent. Clear up case in code that handles this. Add tests. | ||||
* | 34590: queue_signals() around more scopes that manipulate global state | Barton E. Schaefer | 2015-02-20 | 1 | -1/+3 |
| | |||||
* | 34530: PRINT_EXIT_VALUE with anonymous functions. | Peter Stephenson | 2015-02-16 | 1 | -2/+12 |
| | | | | Simpler fix, avoiding structural changes. | ||||
* | 34546: further $_ with anon function fix. | Peter Stephenson | 2015-02-13 | 1 | -4/+13 |
| | | | | Also add tests. | ||||
* | 34519: $_ for arguments of anonymous function | Peter Stephenson | 2015-02-12 | 1 | -1/+4 |
| | |||||
* | 34514: Back out 34485, an alternate solution needs to be worked out. | Barton E. Schaefer | 2015-02-12 | 1 | -25/+26 |
| | | | | (Tweaked to keep the unrelated hunk of the E01 test.) | ||||
* | 34485: More rationalisation for anonymous functions. | Peter Stephenson | 2015-02-09 | 1 | -26/+25 |
| | | | | | | | | 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(). | ||||
* | users/19751: remove error on failure to close file descriptor by number. | Peter Stephenson | 2015-01-20 | 1 | -1/+6 |
| | | | | | Keep it when closing file descriptor stored in a variable, i.e. explicitly opened by the user. | ||||
* | 34322: bug with interface to parsestr() etc. | Peter Stephenson | 2015-01-18 | 1 | -4/+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. | ||||
* | Rearrange context saving. | Peter Stephenson | 2015-01-09 | 1 | -4/+4 |
| | | | | | | | 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. | ||||
* | 34134: anon funcs: don't leak shf and related data | Mikael Magnusson | 2015-01-06 | 1 | -0/+6 |
| | | | | Found by Coverity (Issue 439076). | ||||
* | 34064: assignment before command replaces array with export even when KSH_ARRAYS | Takeshi Banse | 2014-12-27 | 1 | -0/+2 |
| | |||||
* | 34065: following an "if" condition, do not test lastval for ERR_EXIT until a ↵ | Barton E. Schaefer | 2014-12-27 | 1 | -0/+4 |
| | | | | | | new command is run Includes unposted regression tests. | ||||
* | 33876: etc.: Separate errors and keyboards interrupts | Peter Stephenson | 2014-12-11 | 1 | -21/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | 33818: fix types passed to sizeof detected by coverity as being wrong | Oliver Kiddle | 2014-11-30 | 1 | -2/+2 |
| | |||||
* | 33816, 33819: GLOB_ASSIGN changes integer and floating type variables to ↵ | Barton E. Schaefer | 2014-11-28 | 1 | -1/+9 |
| | | | | string scalars | ||||
* | 33775: error opening file in $(<...) is not fatal | Barton E. Schaefer | 2014-11-23 | 1 | -2/+2 |
| | |||||
* | 33614 (based on RedHat BZ-978613): signal safety when updating global state ↵ | Barton E. Schaefer | 2014-11-06 | 1 | -0/+6 |
| | | | | in execshfunc() | ||||
* | Treat exec from subshell as if forked | Peter Stephenson | 2014-11-02 | 1 | -0/+9 |
| | | | | | This removes weird behaviour when optimising the last command. In particular SHLVL is correct from a subshell executed as the last command. | ||||
* | 33531 with additions: retain status of exited background jobs. | Peter Stephenson | 2014-10-26 | 1 | -2/+0 |
| | | | | | | | | Add linked list of unwaited-for background jobs. Truncate at value of _SC_CHILD_MAX discarding oldest. Remove old lastpid_status mechanism for latest exited process only. Slightly tighten safety of permanently allocated linked lists so that this doesn't compromise signal handling. | ||||
* | 33493: use correct command name in error messages about "ulimit" failure; ↵ | Barton E. Schaefer | 2014-10-22 | 1 | -0/+1 |
| | | | | restore internal copy of limits if setrlimit() fails, so the error won't repeat | ||||
* | 33365: avoid buffer overflow for very long fds in >& fd syntax | Mikael Magnusson | 2014-10-06 | 1 | -1/+1 |
| |