GNU bug report logs - #11815
24.1; Confusing behavior of & in Dired

Previous Next

Package: emacs;

Reported by: "John Wiegley" <johnw <at> newartisans.com>

Date: Fri, 29 Jun 2012 08:37:01 UTC

Severity: normal

Merged with 10598

Found in versions 24.0.92, 24.1

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "John Wiegley" <johnw <at> newartisans.com>
To: 11815 <at> debbugs.gnu.org
Subject: bug#11815: 24.1; Confusing behavior of & in Dired
Date: Fri, 29 Jun 2012 03:29:25 -0500
If I mark several files in dired and press !, I can execute:

    rsync -av * jw:/srv/ftp/pub

I can also run:

    rsync -av * jw:/srv/ftp/pub &

But if I type &, I cannot run:

    rsync -av * jw:/srv/ftp/pub

Because this is equivalent to:

    rsync -av * jw:/srv/ftp/pub * &

It actually decribes this behavior in the docstring: with the & command, if no
& appears at the end of the line (which makes little sense, since I pressed &
to indicate it was asynchronous), Dired adds "* &".  ??

I think that the following equivalence should hold:

    ! COMMAND & == & COMMAND

The fix is simply to change the two lines in `dired-do-async-shell-command'
which append " *" to the end of the line to read:

  (unless (string-match "[ \t][*?][ \t]" command)
    (setq command (concat command " *")))

Thanks,
  John

In GNU Emacs 24.1.1 (x86_64-apple-darwin11.4.0, Carbon Version 1.6.0 AppKit 1138.47)
 of 2012-06-28 on vulcan.local




This bug report was last modified 12 years and 313 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.