GNU bug report logs -
#10523
24.0.92; Wrong init value for eshell-windows-shell-file
Previous Next
Reported by: Lars Ljung <lars <at> matholka.se>
Date: Mon, 16 Jan 2012 21:48:02 UTC
Severity: normal
Tags: patch
Found in version 24.0.92
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#10523: 24.0.92; Wrong init value for eshell-windows-shell-file
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 10523 <at> debbugs.gnu.org.
--
10523: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10523
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> Date: Tue, 17 Jan 2012 06:53:38 +0100
> From: Lars Ljung <lars <at> matholka.se>
> CC: 10523 <at> debbugs.gnu.org
>
> 2012-01-17 06:11, Eli Zaretskii skrev:
> > Why doesn't it work properly? Can you give a simple test case where
> > it fails, and explain why?
>
> With cmdproxy.exe it will look like this:
>
> ~ $ test.bat arg1 arg2
> warning: extra args ignored after 'test.bat'
>
> The warning is printed by cmdproxy.exe and the reason is that the
> command gets translated to the following:
>
> cmdproxy.exe /c test.bat arg1 arg2
>
> But cmdproxy.exe expects one single argument after /c, .i.e.
> cmdproxy.exe /c "test.bat arg1 arg2". cmd.exe on the other hand uses all
> remaining arguments on the command line.
>
> To me it looks like the regexp is used to avoid using cmdproxy.exe, but
> it fails because of the extra \\`.
Thanks, I installed that change (trunk revision 107089).
[Message part 3 (message/rfc822, inline)]
The function eshell-invoke-batch-file expects that
eshell-windows-shell-file points to something with the behaviour of
cmd.exe. Currently it defaults to the path to cmdproxy.exe (the default
value of shell-file-name), which will not work properly.
The patch below solves this issue.
=== modified file 'lisp/eshell/esh-ext.el'
--- lisp/eshell/esh-ext.el 2012-01-05 09:46:05 +0000
+++ lisp/eshell/esh-ext.el 2012-01-16 20:21:27 +0000
@@ -91,7 +91,7 @@
(defcustom eshell-windows-shell-file
(if (eshell-under-windows-p)
- (if (string-match "\\(\\`cmdproxy\\|sh\\)\\.\\(com\\|exe\\)"
+ (if (string-match "\\(cmdproxy\\|sh\\)\\.\\(com\\|exe\\)"
shell-file-name)
(or (eshell-search-path "cmd.exe")
(eshell-search-path "command.com"))
This bug report was last modified 13 years and 165 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.