| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
potential match.
|
| |
| |
| |
| |
| |
| | |
Assignments after the first were not recognised as such as without
the full parser the state didn't return to command position.
Fix this in bufferwords() and the completion miniparser.
|
| | |
|
| |
| |
| |
| | |
This will let error messages include long integers.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
maximum width.
Before this commit, format specs such as '%5.s' would be printed
literally. Now, they are treated as equivalent to '%5s'.
The '.' character is not allowed to be used in specs, so there is no
incompatibility.
|
| | |
|
|/
|
|
|
| |
This makes it easy to apply local tracing ('functions -T') to autoloadable
functions that redefines themselves when first loaded.
|
|
|
|
|
| |
Otherwise we could get re-entrancy in memory functions when
setting variables.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Linux, linking to mktemp() generates the following warning:
.
utils.o: In function `gettempname':
./Src/utils.c:2229: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp'
The warning cannot be disabled.
Work around that by using mkstemp() instead, and massage its output so
it behaves like mktemp(). See the new comment for further details.
|
|
|
|
| |
"from_where" parameter. No functional change.
|
|
|
|
| |
zsh-5.3.1-182-gd7110d8f0).
|
|
|
|
| |
This could cause a signal received during $(...) to corrupt memory.
|
|
|
|
|
| |
Otherwise forms of argument allowed by POSIX are interpreted as
options instead.
|
|
|
|
| |
As the shortest match is preferred, zero-length matches beat any other.
|
| |
|
|
|
|
| |
Dashes could cause problems in directory prefixes.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This was in the glob qualifier and variable code but got missed out
of the separate history modifier function.
|
|
|
|
|
|
|
| |
If we can't grab the terminal in interactive mode, give
up after 100 goes. This is a completely arbitrary choice;
we simply don't know what in the system could change the
result of looping further.
|
|
|
|
|
|
|
| |
Indentatin in moveto was broken by 3eea35d0 (my bad), making it
difficult to read. This commit reverts it to what it used ot be.
While at it, fix indentation in a few other places in the same
file.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When TTY disappears and there is at least one fd watcher, raw_getbyte() can
enter an infinite loop where it keeps calling poll() over and over again.
To reproduce, open a terminal, start zsh and type this:
rm -f /tmp/fifo
mkfifo /tmp/fifo
exec 3<>/tmp/fifo
do-nothing() {}
zle -F 3 do-nothing
Then make TTY disappear. For example, kill the parent with `kill -9 $PPID`
and close the terminal window if it's still there. Observe that zsh is
consiming 100% CPU. Note that do-nothing() never gets called.
This patch makes the poll() loop in raw_getbyte() terminate when TTY is
signalling POLLHUP. This makes the behavior consistent with the case where
TTY disappears while no fd watchers are installed.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
"foo=bar builtin" inside a function lost any variable from
enclosing scope.
|
|
|
|
| |
Documentation and test.
|
| |
|
|
|
|
| |
Known to cause warnings in gawk 5.
|
| |
|
| |
|
|
|
|
|
|
| |
Crash came from "fn() { typeset -U path=($path); unset PATH; }".
Note PATH unset is global as only path was made local.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These are descriptors marked FDT_EXTERNAL.
Make all sysopen'ed file descriptors FDT_EXTERNAL.
Make =(...) call closem() consistent with other substitutions.
Document file descriptors are left open.
|
| |
|
|
|
|
| |
Add unit test.
|
| |
|
|
|
|
|
|
|
| |
Pick number of leading or trailing path components to substitute.
Active in history, brace parameters, glob qualifiers.
Add tests for all three environments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Height off by one in the presence of meta characters at the end of the line.
The following prompt has height 2 but countprompt used to return 3.
PROMPT="${(pl.$COLUMNS..-.)}%f"$'\n'
You can observe the effects of the bug with esc-x followed by reset-prompt.
2. Width off by one when a line is broken in the middle of a wide character.
Assuming COLUMNS=79, the following prompt has width 2 but countprompt used to return 0.
PROMPT="${(pl.40..\u3050.)}" zsh -df
Press ctrl-r or type ls<tab> to observe the effects of the bug.
3. Width off by 1-7 when a line is broken in the middle of a tab.
Assuming COLUMNS=79, the following prompt has width 1 but countprompt used to return 0.
PROMPT="${(pl.10..\t.)}" zsh -df
Press Ctrl-R or type ls<TAB> to observe the effects of the bug.
|
|
|
|
|
| |
These are used recursively and it's a bit obscure if there
are case where the value can leak.
|
| |
|
|
|
|
| |
result in a crash
|
| |
|
| |
|