--- Begin Message ---
Subject: |
24.1; Confusing behavior of & in Dired |
Date: |
Fri, 29 Jun 2012 03:29:25 -0500 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1 (darwin) |
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#10598: 24.0.92; run dired-do-async-shell-command on multiple files individually |
Date: |
Tue, 17 Jul 2012 21:41:08 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (x86_64-pc-linux-gnu) |
> Thanks a lot, this looks great to me (and also works for me as expected).
Thanks, installed and closed.
> It would be good if the info node "(emacs)Shell Commands in Dired"
> will be updated, too.
A NEWS entry for this change has no "---" indication that means
it should be documented in the manual before the next release when
the functionality is stabilized and there are no more code changes.
--- End Message ---