Package: dash
Version: 0.5.7-3
Severity: grave
Justification: causes non-serious data loss

When running an interactive command, dash doesn't ignore SIGINT
and SIGQUIT.

For instance, here's what I get with Emacs 24 (not a previous
version, since previously, Emacs had its own progress group,
so that the bug wasn't visible), by typing Ctrl-G Ctrl-X Ctrl-C
in Emacs:

$ bash -c "emacs -Q -nw; echo foo"; echo bar
foo
bar
$ dash -c "emacs -Q -nw; echo foo"; echo bar

$ echo $?
130
$ 

The main problem is that dash is generally used as /bin/sh, thus
by the system() command (or equivalent). So, typing Ctrl-G in an
Emacs running in a terminal has the effect to make the sh shell
fail, without any possible workaround. This affects applications
that run an editor such as Subversion (svn command) and Mutt.

For instance, with svn:

$ SVN_EDITOR=emacs svn ci
svn: E200012: Commit failed (details follow):
svn: E200012: system('emacs svn-commit.tmp') returned 2
svn: E200012: Your commit message was left in a temporary file:
svn: E200012:    '/home/vinc17/wd/db/svn-commit.tmp'

zsh: interrupt  SVN_EDITOR=emacs svnwrapper ci

According to Andreas Schwab[*], this is a bug in dash. And indeed,
the system(3) man page says:

      system()  executes a command specified in command by calling
      /bin/sh -c command, and returns after the command  has  been
      completed.  During execution of the command, SIGCHLD will be
      blocked, and SIGINT and SIGQUIT will be ignored.

[*] http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11886#17

-- 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/8 CPU cores)
Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dash depends on:
ii  debianutils  4.3.3
ii  dpkg         1.16.8
ii  libc6        2.13-35

dash recommends no packages.

dash suggests no packages.

-- debconf information:
* dash/sh: true


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to