Emacs bug report logs -
#4406
23.1; eshell quoting problem with -exec rm {} \;
Previous Next
Reported by: "Xah Lee" <xah <at> xahlee.org>
Date: Fri, 11 Sep 2009 19:05:08 UTC
Severity: normal
Done: Chong Yidong <cyd <at> stupidchicken.com>
Bug is archived. No further changes may be made.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4406; Package
emacs.
(Fri, 11 Sep 2009 19:05:08 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Xah Lee" <xah <at> xahlee.org>:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>.
(Fri, 11 Sep 2009 19:05:08 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
this is probably a bug.
when running eshell in Windows, i do
c:\Users\xah\web>find -name "*el" -exec rm {} \;
find -name "*el" -exec rm {} \;
find: missing argument to `-exec'
it turns out, one needs to quote the ending semicolon.
This does not work:
find -name "*el" -exec rm {} \\;
This works:
find -name "*el" -exec rm {} ';'
It appears to me, this seems to be a bug, since
-exec rm {} \;
is a standard idiom in bash, and no reason that shouldn't work.
(Pascal J Bourguignon gave the correct solution. This issue is discussed a
bit at gnu.emacs.help here
http://groups.google.com/group/gnu.emacs.help/browse_frm/thread/46eb4e95fcbc1fb9? )
Xah
∑ http://xahlee.org/
☄
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4406; Package
emacs.
(Sat, 12 Sep 2009 08:35:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>.
(Sat, 12 Sep 2009 08:35:06 GMT)
Full text and
rfc822 format available.
Message #10 received at 4406 <at> emacsbugs.donarmstrong.com (full text, mbox):
> From: "Xah Lee" <xah <at> xahlee.org>
> Date: Fri, 11 Sep 2009 11:59:30 -0700
> Cc:
>
> c:\Users\xah\web>find -name "*el" -exec rm {} \;
> find -name "*el" -exec rm {} \;
> find: missing argument to `-exec'
>
> it turns out, one needs to quote the ending semicolon.
>
> This does not work:
> find -name "*el" -exec rm {} \\;
>
> This works:
> find -name "*el" -exec rm {} ';'
>
> It appears to me, this seems to be a bug, since
> -exec rm {} \;
> is a standard idiom in bash, and no reason that shouldn't work.
Eshell is not Bash, and on Windows, it treats the backslash as a
directory separator (unlike Bash).
So I think this is not a bug, just a platform-specific behavior that
needs to be learned.
bug closed, send any further explanations to "Xah Lee" <xah <at> xahlee.org>
Request was from
Chong Yidong <cyd <at> stupidchicken.com>
to
control <at> emacsbugs.donarmstrong.com.
(Sun, 13 Sep 2009 22:40:06 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <owner <at> emacsbugs.donarmstrong.com>
to
internal_control <at> emacsbugs.donarmstrong.com.
(Mon, 12 Oct 2009 14:24:13 GMT)
Full text and
rfc822 format available.
Previous Next
Emacs bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.