about summary refs log tree commit diff
path: root/Src/init.c
Commit message (Collapse)AuthorAgeFilesLines
* 36090: keep signals queued for preprompt()Barton E. Schaefer2015-08-111-2/+0
|
* 36022 fix bug that some loop constructs could not be interrupted, revise ↵Barton E. Schaefer2015-08-091-0/+5
| | | | | | | | | | | 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.
* 35826: add getsparam_u() to return unmetafied string, use it for a number of ↵Barton E. Schaefer2015-07-221-1/+1
| | | | references to non-special params
* 35482: be consistent about how argzero is allocatedBarton E. Schaefer2015-06-161-2/+3
|
* 34961: replace a couple of free() with zfree() for consistencyBarton E. Schaefer2015-04-251-1/+1
|
* 34322: bug with interface to parsestr() etc.Peter Stephenson2015-01-181-4/+7
| | | | | | | 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 Stephenson2015-01-091-2/+2
| | | | | | | 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 Stephenson2015-01-081-1/+2
| | | | | | | Do this by refactoring misnamed lexsave()/lexrestore() to allow continuity of history and input. Add test.
* 33876: etc.: Separate errors and keyboards interruptsPeter Stephenson2014-12-111-4/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 33531 with additions: retain status of exited background jobs.Peter Stephenson2014-10-261-1/+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.
* 33445: fix handling of -s when combined with -i at shell invocationBarton E. Schaefer2014-10-121-4/+16
| | | | | | Fixes a long-standing (25+ years) bug where using -i -s together did have the documented effect of disabling command line script files but also had the side-effect of invoking ZLE, thereby ignoring the redirected input.
* 33268: interactive shells treat SIGPIPE like SIGHUP if and only if SHTTY is ↵Barton E. Schaefer2014-09-291-0/+1
| | | | disconnected
* 33212: try to put /usr/local/share/zsh/site-functions in default fpathPeter Stephenson2014-09-201-11/+22
|
* 33143: POSIX_ARGZERO more closely matches bash et al.Barton E. Schaefer2014-09-121-1/+2
|
* 32634: add POSIX_ARGZERO optionBarton E. Schaefer2014-06-011-2/+3
|
* 32365: another stab at the heuristic for initializing rprompt_indentBarton E. Schaefer2014-02-081-2/+3
|
* 32341: heuristic initialization of ZLE_RPROMPT_INDENTBarton E. Schaefer2014-02-021-11/+1
|
* 32340: improve error messages for "read -c" / "read -l"Barton E. Schaefer2014-02-021-1/+1
|
* 32157: fix extra line feed after prompt, and erased character in completion ↵Barton E. Schaefer2013-12-181-1/+14
| | | | listing, when ZLE_RPROMPT_INDENT=0
* 32099: change pointer declaration to avoid arithmetic on (void *).Barton E. Schaefer2013-12-101-1/+1
|
* 31919: fix deadlock when a shell builtin with a multio redirection is used ↵Barton E. Schaefer2013-10-271-0/+1
| | | | | | | | | on the left side of a pipeline Make sure stdin/out/err file descriptors are closed for the multio copy process, which means not re-using those descriptors after they are closed and marked FDT_UNUSED in fdtable[]. For completeness, initialize their fdtable[] state to FDT_EXTERNAL.
* 31361: handle negative optno ("no" prefix used)Bart Schaefer2013-04-301-3/+4
| | | | when storing options with parseopts_insert() for sticky contexts
* 31350: block SIGWINCH nearly all the time, exceptBart Schaefer2013-04-301-0/+1
| | | | | when about to calculate prompts or do synchronous read, so syscalls are not interrupted by window size changes.
* 30789: Add CONTINUE_ON_ERROR for old behaviour.Peter Stephenson2012-11-151-2/+7
| | | | | New behaviour is for scripts to exit on error instead of returning to top level and executing the next command.
* 30726: make shell options passed to emulate stick along with the emulationPeter Stephenson2012-10-111-7/+37
|
* 30722: fix some cases where emulations or options were not propagated properlyPeter Stephenson2012-10-071-25/+44
| | | | from the emulate command
* 30715: use enum lextok for variables containing lexical tokensPeter Stephenson2012-10-051-1/+1
|
* add some braces to avoid compiler warningsPeter Stephenson2012-03-301-7/+9
|
* 30320: "emulate" accepts invocation-time flags; other small doc tweaks.Bart Schaefer2012-03-071-48/+71
|
* 30084: `zle -T tc func' for zle testing of termcap outputPeter Stephenson2012-01-051-0/+13
|
* 30084: missing zsfree(argzero)Peter Stephenson2012-01-041-0/+1
|
* 29165: use term.h globally if needed at all.Peter Stephenson2011-05-091-2/+2
|
* 29008, 29012: Add `--enable-additional-fpath' option to add arbitrary ↵Frank Terbeck2011-04-181-2/+19
| | | | directories to the default `$fpath'.
* users/15770 HASH_DIRS tracks INTERACTIVEBart Schaefer2011-02-111-0/+3
|
* Paul 28538 / me 28540 / couple of unposted casts:Peter Stephenson2010-12-201-1/+1
| | | | use char * for pointer arithmetic rather than void *
* 28073: allow #! scripts to search path if interpreter not foundPeter Stephenson2010-07-151-19/+1
|
* 28006: make zgetcwd() fall back to pwd,Peter Stephenson2010-06-081-1/+3
| | | | only use "." if setting pwd
* 27951: Add $ZSH_EVAL_CONTEXT and $zsh_eval_contxtPeter Stephenson2010-05-121-3/+3
|
* 27793 and follow ups: add PATH_SCRIPT option to find script using $PATHPeter Stephenson2010-03-161-21/+83
|
* 27785: IFS doesn't have a null in it in POSIXPeter Stephenson2010-03-111-1/+2
| | | | unposted: note & needs quoting in :s in glob qualifier
* Geoff: 27693: rename underscore to avoid name clashPeter Stephenson2010-02-091-3/+3
|
* 27648, 267650/1, unposted README change:Peter Stephenson2010-02-031-0/+1
| | | | Turn off repeat and turn on ulimit in emulation modes
* 27638, based on Frank Terbeck, 27633: SOURCETRACE optionPeter Stephenson2010-01-271-0/+5
|
* Check the return value of all pipe(), read(), and write() calls.Wayne Davison2009-12-161-1/+1
| | | | | | 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.
* 27442 plus tweak: wait returns status for $! even if exitedPeter Stephenson2009-12-021-0/+1
|
* 27134: Close SHTTY on exec.Peter Stephenson2009-07-121-2/+10
| | | | | 27135: POSIX_JOBS leaves MONITOR on in subshell and doesn't save parent job table.
* 27129: fix status at start of function, command subst, etc.Peter Stephenson2009-07-111-5/+22
|
* 27126: a few more contexts where executing empty lists gives status zeroPeter Stephenson2009-07-101-0/+1
|
* 27110: Only turn on MONITOR if set explicitly or INTERACTIVEPeter Stephenson2009-07-091-1/+7
|
* 27100: Allow MONITOR option in non-interactive shells for testing.Peter Stephenson2009-07-081-1/+1
|