Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh 4.3.10 terminates with SIGINT when one types Ctrl-G in emacs under Mac OS X
- X-seq: zsh-workers 27163
- From: Vincent Lefevre <vincent@xxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx
- Subject: Re: zsh 4.3.10 terminates with SIGINT when one types Ctrl-G in emacs under Mac OS X
- Date: Sun, 19 Jul 2009 11:51:56 +0200
- In-reply-to: <20090718230930.GB5412@xvii>
- Mail-followup-to: zsh-workers@xxxxxxxxxx
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <schaefer@xxxxxxxxxxxxxxxx> <090712193623.ZM14823@xxxxxxxxxxxxxxxxxxxxxx> <200907131839.n6DIdO6Z003291@xxxxxxxxxxxxxxxxxxx> <20090716162419.GA26179@xxxxxxxxxxxxxxxxxxx> <090717222936.ZM8648@xxxxxxxxxxxxxxxxxxxxxx> <20090718101602.GA5392@xvii> <090718113509.ZM10405@xxxxxxxxxxxxxxxxxxxxxx> <20090718230930.GB5412@xvii>
In fact, it seems that zsh implements some form of WCE in
interactive scripts, whereas bash implements it in any case.
Consider the following shell script:
sigint() { echo "SIGINT (sh)"; }
for i in 0 1 2 3
do
trap - INT
[ "$i" -eq 1 ] && trap sigint INT
perl -e $i' or $SIG{"INT"} = sub { print "SIGINT (perl)\n" }; print "'$i' - $$\n"; sleep 30; $SIG{"INT"} = "DEFAULT"; kill "INT", $$'
done
Under Linux, whether this script is run in an interactive shell
or not (zsh or another one), I always get something like:
0 - 7387
^CSIGINT (perl)
and the script is immediately interrupted. Now, remove the
$SIG{"INT"} = "DEFAULT"; kill "INT", $$
so that in the case i = 0, the Perl script is no longer killed
by SIGINT. Now, depending on the shell and how the script is
started, the script is interrupted either for i = 0 or i = 2
(the latter more of less corresponds to WCE, i.e. the sh script
is interrupted only if the Perl script is killed by SIGINT).
I considered the following two cases:
1. "<shell> script.sh"
2. ". script.sh" from the interactive shell
and I get the following results with:
bash 3.2-5 (whether executed as bash or sh)
dash 0.5.5.1-2
ksh 93t+-2 (ksh93)
pdksh 5.2.14-23
posh 0.6.18
zsh 4.3.10-3
under Debian/unstable.
* bash[1], dash[2], ksh93[1], pdksh[2], zsh[2]
0 - 7062
^CSIGINT (perl)
1 - 7063
^CSIGINT (sh)
2 - 7066
^C
* bash[2]
0 - 7241
^CSIGINT (perl)
1 - 7242
^C
2 - 7243
^C
* dash[1], ksh93[2], pdksh[1], posh[1], posh[2], zsh[1]
0 - 7387
^CSIGINT (perl)
Note that ksh93 does the opposite to pdksh and zsh!
--
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
Messages sorted by:
Reverse Date,
Date,
Thread,
Author