GNU bug report logs - #10598
24.0.92; run dired-do-async-shell-command on multiple files individually

Previous Next

Package: emacs;

Reported by: "Roland Winkler" <winkler <at> gnu.org>

Date: Wed, 25 Jan 2012 10:19:01 UTC

Severity: normal

Merged with 11815

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: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Juri Linkov <juri <at> jurta.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#11815: closed (24.1; Confusing behavior of & in Dired)
Date: Tue, 17 Jul 2012 18:49:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 17 Jul 2012 21:41:08 +0300
with message-id <87394qmmuj.fsf <at> mail.jurta.org>
and subject line Re: bug#10598: 24.0.92; run dired-do-async-shell-command on multiple files individually
has caused the debbugs.gnu.org bug report #10598,
regarding 24.1; Confusing behavior of & in Dired
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
10598: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10598
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "John Wiegley" <johnw <at> newartisans.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 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


[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: "Roland Winkler" <winkler <at> gnu.org>
Cc: 10598-done <at> debbugs.gnu.org
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
> 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.


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.