about summary refs log tree commit diff
path: root/Etc/BUGS
blob: 2a255444fbd7e8ed8735d81f2d09a8a511ef47f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-----------------
KNOWN BUGS IN ZSH
-----------------

------------------------------------------------------------------------
Completion has a habit of doing the wrong thing after a
backslash/newline.
------------------------------------------------------------------------
If you suspend "man", zle seems to get into cooked mode.  It works ok
for plain "less".
It is not specific neither to man nor to zsh.
E.g. call the following program foo:
#include <sys/wait.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    int status;

    if (!fork())	/* child */
	execvp(argv[1], argv + 1);
    else		/* parent */
	wait(&status);
}
Then if you suspend
% foo less something
from zsh/bash, zle/readline gets into cooked mode.
------------------------------------------------------------------------
% zsh -c 'cat a_long_file | less ; :'
can be interrupted with ^C. The prompt comes back and less is orphaned.
If you go to the end of the file with less and cat terminates, ^C
will not terminate less. The `; :' after less forces zsh to fork before
executing less.
------------------------------------------------------------------------
The pattern %?* matches names beginning with %? instead of names with at
least two characters beginning with %. This is a hack to allow %?foo job
substitution without quoting. This behaviour is incompatible with sh
and ksh and may be removed in the future. A good fix would be to keep
such patterns unchanged if they do not match regardless of the state of
the nonomatch and nullglob options.
------------------------------------------------------------------------