| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Mostly to do with typeset -p and tied variables and their interaction.
Some general tied variable fixes.
|
|
|
|
|
| |
Fix additional races by passing back use of list_pipe_job
from subshell.
|
| |
|
|
|
|
| |
This avoids proliferating #ifdef's.
|
|
|
|
|
| |
Don't discard the line from the history merely because it produced
no synactic words.
|
|
|
|
| |
Last recorded word should be the previous one.
|
|
|
|
|
|
|
| |
Also new job options.
Also suppress debug error if rows or columns are reported as zero as
this is normal without a physical terminal.
|
|
|
|
|
|
|
|
| |
Functions defined inside other fucntions needs file line number
adding. Particularly useful for anonymous fucntions.
Add flag to indicate a function is anonymous. Done up to now
by comparing the name to a pointer but this is more consistent.
|
| |
|
| |
|
|
|
|
| |
Pass a flag in indicating this case.
|
|
|
|
|
|
|
|
| |
Move detection of key/value pairs down into prefork().
Detect normal array assignment and [key]=val array assignemnt
separately. Mark key / value pairs with Marker and pass up flag. Deal
with marked triads specially later on.
|
|
|
|
|
|
|
| |
Works for both normal and typeset case, also var+=...
Still to do: allow to be mixed with straight array assignment,
improve typeset -p, implement [key]+=value.
|
|
|
|
|
|
|
|
| |
This sets the shell emulation mode similarly to ARGV0=... which
doesn't work from other shells.
Note that this gives more comprehensive emulation than running
emulate within the shell.
|
|
|
|
|
|
|
|
| |
It now operates separately at each function depth.
To keep ERR_EXIT global, make the noerrexit variable usd bit flags.
Extend tests.
|
|
|
|
|
| |
Record fd's that have been saved in fdtable and if the shell
forks close them as they will never be restored.
|
| |
|
|
|
|
|
|
|
| |
This is a job forked from the current shell when a job partly
running from the current shell was suspended. When all associated
processes started from the main shell are finished the job is
continued and at this point the disown can complete.
|
|
|
|
|
| |
This ensures that the default event set by an expansion in ZLE
doesn't propagate to the command line expansion.
|
|
|
|
|
|
| |
This replaces 41113 / 94014ff65b with a simple local change for the
immediate problem. It's not entirely clear if this reflects wider
changes in the structure of the history code.
|
|
|
|
|
|
|
|
|
|
| |
When saving history state save whether the current history line
is linked into the ring and remove it, and restore as appropriate
later. This avoids surprises where the history ring is freed
and incorrectly frees the current state in curline, which has
a different allocation strategy.
Original patch tweaked to make restoring more logical.
|
|
|
|
| |
If wcwidth() or iswprint() is broken, force enable unicode9.
|
|
|
|
|
|
| |
This fixes use of pattern match character ranges in unusual contexts.
Attempt to detect a tokenized - in cases where we don't care.
|
|
|
|
|
|
| |
Used if parent function is autoloaded by absolute path so
as to find functions in the same suite without shell code
modification.
|
| |
|
|
|
|
|
| |
These are companions to WARN_CREATED_GLOBAL, warning when a variable
from an enclosing scope is altered.
|
|
|
|
|
|
| |
If doing "autoload -X", the path present might actually be location
of file containing the function with the autoload -X. Add
an explicit flag to say it's a directory for autoload.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
path.
-d defaults to normal fpath
-r remembers the path without actually loading. May be combined with -d.
-R does the same but it's an error if not found
-X can now take a directory path: this is used to output not yet loaded
functions that have an associated path.
|
|
|
|
|
|
|
| |
definition.
Now an error unless the () is part of the same error as the name.
Add ALIAS_FUNC_DEF option to allow it again.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Enable with --enable-unicode9.
|
|
|
|
| |
Mostly fixes to doubled words.
|
|
|
|
|
|
| |
By splitting into _analyse and _exec execpline2() has easier
access to the state at the start of execution. Use this
to ensure we fork if this is a builtin with no arguments.
|
| |
|
|
|
|
|
| |
There was an exploit in bash using SHELLOPTS to turn on xtrace,
however this can't happen in zsh, so this is simply a precaution.
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes case of
v() { { vim - } always { true } }
ls | v
^Z
fg
Tentative fix: still a race at exit where zsh forked by ^Z
is stopped when restarted.
|
|
|
|
|
| |
On failure should abort back to top level, but we reset the error
flag around commands. Add a hard error flag that's only reset at top level.
|
|
|
|
|
| |
This is both in xtrace output and shell code rebuilt from
internal structures.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flags that compstate (or any other special) can only have
a single instance and an attempt to create a new one is an error.
Given the very fiddly semantics of compstate any other usage
seems pointless.
No investigation yet of other variables that could use this.
Note it's still possible to hide such variables; only instances
that keep the special nature are affected.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The \C- form is only used inside quotedzputs().
${(q+)...} outputs a quotedzputs() representation.
|
|
|
|
|
| |
Use nicechar with $'..' quoting; upgrade nicechar() etc. to
use suitable output.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Enhance WARNCREATEGLOBAL to work in many more cases.
Don't create REPLY as an integer if it didn't previously exist
as one, even if the value to be set is integral, as this is likely to
mess up later uses of REPLY.
|
|
|
|
|
| |
Allow such file descriptors to be either internal and closed on exec
or external and so managed explicitly by module.
|