Subject: bug#18745: closed (Re: bug#18745: 24.3; MS Windows, `call-process-shell-command' fails on `shell-quote-argument'ed bat file with quoted args)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 25 Oct 2014 09:17:04 +0000

Your bug report

#18745: 24.3; MS Windows, `call-process-shell-command' fails on `shell-quote-argument'ed bat file with quoted args

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 [email-masked].

-- 
18745: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18745
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18745: 24.3; MS Windows, `call-process-shell-command' fails on `shell-quote-argument'ed bat file with quoted args
From: Eli Zaretskii <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 25 Oct 2014 12:16:30 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Thu, 23 Oct 2014 18:52:58 +0300
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked]
> 
> > Date: Wed, 22 Oct 2014 21:33:59 -0400
> > From: Noam Postavsky <[email-masked]>
> > Cc: [email-masked]
> > 
> > The tests in test/automated? No regressions.
> 
> Great, thanks.
> 
> > Here is a new patch with added test and formatting issues fixed.
> 
> Looks good, thanks.  And you do get the bonus points.
> 
> As I said, will commit in a couple of days.

Done, as trunk revision 118196.  I'm therefore closing this bug.
Thanks a lot for working on this.

Btw, the email address mentioned in your copyright assignment is
different from the one you used in this thread.  Is that address still
valid, or should we always use the one you used here?

Subject: 24.3; MS Windows, `call-process-shell-command' fails on `shell-quote-argument'ed bat file with quoted args
From: Noam Postavsky <[email-masked]>
To: [email-masked]
Date: Thu, 16 Oct 2014 00:33:55 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

>From emacs -Q, evaluating

  (call-process-shell-command (shell-quote-argument "c:/path with
space/foo-bar.bat") nil t t (shell-quote-argument "x y"))

or the equivalent

  (call-process-shell-command "\"c:/path with space/foo-bar.bat\"" nil
t t "\"x y\"")

gives

  'c:/path' is not recognized as an internal or external command,
  operable program or batch file.

It also fails for paths without a space:

  (call-process-shell-command "\"c:/path-without-space/foo-bar.bat\""
nil t t "\"x y\"")

gives

  'c:/path-without-space/foo-bar.bat" "x' is not recognized as an
internal or external command,
  operable program or batch file.

Doing the same with an .exe file works correctly. Quoting the spaces
with ^ works for the .bat file:

  (call-process-shell-command "c:/path^ with^ space/foo-bar.bat" nil t
t "\"x y\"")

gives

  this is foo-bar, arg1 = "x y", arg2 =

But this doesn't work for .exe files.

foo-bar.bat has contents

  @echo this is foo-bar, arg1 = %1, arg2 = %2

In GNU Emacs 24.3.1 (i386-mingw-nt6.1.7601)
 of 2013-03-17 on MARVIN
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --with-gcc (4.7) --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include
 -ID:/devel/emacs/libs/libiconv-1.13.1-1-dev/include
 -ID:/devel/emacs/libs/libxml2-2.7.8/include/libxml2'

Important settings:
  value of $LANG: ENC
  locale-coding-system: cp1252
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> ( c a l l - s h e l C-M-i SPC C-a C-y C-k
C-x C-e C-p C-p C-p C-M-f C-o C-o C-p RET C-y C-x C-e
C-p C-p C-p C-f C-SPC C-M-f M-w C-x C-x M-w M-x r e
p o r t SPC e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
1
Mark set
1

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp w32-common-fns disp-table w32-win
w32-vars tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev minibuffer loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
w32 multi-tty emacs)