Package: zsh Version: 4.3.17-1 Severity: normal zsh doesn't handle SIGINT correctly when trapped in a child, except when this is the last command that is interrupted (probably because it does an exec on the last command, as an optimization):
xvii% zsh -c 'echo foo; bash -c "trap \"echo Interrupt; exit 0\" INT; sleep 5"'; echo OK foo ^CInterrupt OK xvii% echo $? 0 xvii% zsh -c 'echo foo; bash -c "trap \"echo Interrupt; exit 0\" INT; sleep 5"; echo bar'; echo OK foo ^CInterrupt xvii% echo $? 130 zsh should implement WCE: http://www.cons.org/cracauer/sigint.html Note that zsh behaves correctly on SIGQUIT. But for SIGINT, there is worse: xvii% stty speed 38400 baud; line = 0; flush = <undef>; -brkint -imaxbel iutf8 xvii% zsh -c 'emacs24 & emacs24 -nw; wait' [Ctrl-G in the terminal] xvii% stty speed 38400 baud; line = 0; intr = ^G; quit = ^G; start = <undef>; stop = <undef>; susp = <undef>; rprnt = <undef>; werase = <undef>; lnext = <undef>; flush = <undef>; ignbrk -brkint -icrnl -imaxbel iutf8 -onlcr -iexten % xvii% reset Interrupt is control-G (^G). with many display problems (corrupt terminal, cursor positionning...) because the "emacs24 -nw" process is still running in background. -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.0-3-amd64 (SMP w/2 CPU cores) Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages zsh depends on: ii libc6 2.13-35 ii libcap2 1:2.22-1.1 ii libtinfo5 5.9-10 Versions of packages zsh recommends: ii libc6 2.13-35 ii libncursesw5 5.9-10 ii libpcre3 1:8.30-5 Versions of packages zsh suggests: ii zsh-doc 4.3.17-1 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org