unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
@ 2015-02-08 14:57 Fabio Leimgruber
  2015-02-08 19:29 ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Leimgruber @ 2015-02-08 14:57 UTC (permalink / raw)
  To: 19817

To reproduce, first copy `C:\Windows\System32\write.exe' to
`C:\Windows\System32\write.test.exe'.  Then from a Command Prompt
(i.e. cmd.exe, I will use `$' for distinction nonetheless):

$ cd D:\opt\emacs\libexec\emacs\24.4\x86_64-w64-mingw32

$ cmdproxy.exe -c "\"write\" \"d:/asdf.txt\""

works, whereas:

$ cmdproxy.exe -c "\"write.test\" \"d:/asdf.txt\""

fails with:

'write.test" "d:' is not recognized as an internal or external command,
operable program or batch file.

Additional information:

when doing the more explicit:

$ cmdproxy.exe -c "\"write.test.exe\" \"d:/asdf.txt\""

WordPad starts.  FWIW, without the argument, the call:

$ cmdproxy.exe -c "\"write.test.exe\""

succeeds as well.  This came to attention when I tried to call
`py.test.exe' via `cmdproxy.exe', see [1].

[1] https://github.com/jorgenschaefer/elpy/pull/416

In GNU Emacs 24.4.1 (x86_64-w64-mingw32)
 of 2014-10-21 on KAEL
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/z/emacs --host=x86_64-w64-mingw32
 --target=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --with-wide-int
 --with-jpeg --with-xpm --with-png --with-tiff --with-rsvg --with-xml2
 --with-gnutls --with-xft --with-sound=yes --with-file-notification=yes
 --without-dbus --without-imagemagick 'CFLAGS=-Ofast
 -fomit-frame-pointer -funroll-loops -g0 -pipe' 'CPPFLAGS=-DNDEBUG
 -DDBUS_STATIC_BUILD' 'LDFLAGS=-static-libgcc -static-libstdc++ -static
 -s -Wl,-s''

Important settings:
  value of $LANG: en
  locale-coding-system: utf-8-dos

Major mode: Org

Minor modes in effect:
  smartparens-mode: t
  org-indent-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-idle-scheduler-mode: t
  semantic-mode: t
  winner-mode: t
  display-time-mode: t
  helm-mode: t
  guide-key-mode: t
  recentf-mode: t
  global-ace-isearch-mode: t
  ace-isearch-mode: t
  savehist-mode: t
  dired-omit-mode: t
  helm-adaptive-mode: t
  helm-match-plugin-mode: t
  helm-occur-match-plugin-mode: t
  persp-mode: t
  company-mode: t
  pyvenv-mode: t
  ido-everywhere: t
  fic-mode: t
  global-whitespace-mode: t
  flycheck-color-mode-line-mode: t
  flycheck-mode: t
  reftex-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  erc-track-mode: t
  erc-services-mode: t
  erc-ring-mode: t
  erc-networks-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-match-mode: t
  erc-list-mode: t
  erc-pcomplete-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-autojoin-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  global-edit-server-edit-mode: t
  delete-selection-mode: t
  evil-org-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  evil-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  evil-local-mode: t
  override-global-mode: t
  my-keys-minor-mode: t
  show-paren-mode: t
  iswitchb-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  global-auto-revert-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Recent input:
C-M-h p y <return> k <lwindow> j C-c C-t <help-echo> 
<help-echo> C-M-h C-g M-x e m a c s <return> <help-echo> 
<help-echo> C-M-h m e . o r g <return> C-M-h c o m 
p C-n <return> k k k k j j j j j j j j j j j j j j 
j j j j j j j j j j j j j j j j j j j j j j j j j j 
j j j j j j j j j j j j j j j j j j j j j j j j j j 
j j C-s e r l p y <backspace> <backspace> <backspace> 
<backspace> l p y <return> <tab> j o <escape> k n n 
C-s C-s C-s C-s C-s C-s <return> <tab> j j j j j j 
j j j j j j j j j o <escape> : <return> M-x e m a c 
s SPC r e p o <return> C-g M-x r e p o r t <return
>

Load-path shadows:
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-texinfo hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-texinfo
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-publish hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-publish
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-org hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-org
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-odt hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-odt
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-md hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-md
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-man hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-man
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-latex hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-latex
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-icalendar hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-icalendar
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-html hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-html
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-beamer hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-beamer
c:/Users/user/.emacs.d/opt/org-mode/lisp/ox-ascii hides d:/opt/emacs/share/emacs/24.4/lisp/org/ox-ascii
c:/Users/user/.emacs.d/opt/org-mode/lisp/org hides d:/opt/emacs/share/emacs/24.4/lisp/org/org
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-w3m hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-w3m
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-version hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-version
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-timer hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-timer
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-table hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-table
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-src hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-src
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-rmail hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-rmail
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-protocol hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-protocol
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-plot hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-plot
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-pcomplete hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-pcomplete
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-mouse hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-mouse
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-mobile hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-mobile
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-mhe hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-mhe
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-macs hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-macs
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-macro hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-macro
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-loaddefs hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-loaddefs
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-list hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-list
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-irc hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-irc
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-install hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-install
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-inlinetask hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-inlinetask
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-info hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-info
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-indent hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-indent
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-id hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-id
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-habit hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-habit
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-gnus hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-gnus
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-footnote hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-footnote
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-feed hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-feed
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-faces hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-faces
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-eshell hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-eshell
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-entities hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-entities
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-element hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-element
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-docview hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-docview
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-datetree hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-datetree
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-ctags hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-ctags
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-crypt hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-crypt
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-compat hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-compat
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-colview hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-colview
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-clock hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-clock
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-capture hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-capture
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-bibtex hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-bibtex
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-bbdb hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-bbdb
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-attach hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-attach
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-archive hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-archive
c:/Users/user/.emacs.d/opt/org-mode/lisp/org-agenda hides d:/opt/emacs/share/emacs/24.4/lisp/org/org-agenda
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-tangle hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-tangle
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-table hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-table
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-sqlite hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-sqlite
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-sql hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-sql
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-shen hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-shen
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-sh hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-sh
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-screen hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-screen
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-scheme hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-scheme
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-scala hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-scala
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-sass hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-sass
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-ruby hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-ruby
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-ref hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-ref
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-R hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-R
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-python hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-python
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-plantuml hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-plantuml
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-picolisp hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-picolisp
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-perl hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-perl
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-org hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-org
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-octave hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-octave
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-ocaml hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-ocaml
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-mscgen hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-mscgen
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-maxima hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-maxima
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-matlab hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-matlab
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-makefile hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-makefile
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-lob hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-lob
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-lisp hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-lisp
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-lilypond hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-lilypond
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-ledger hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-ledger
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-latex hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-latex
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-keys hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-keys
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-js hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-js
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-java hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-java
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-io hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-io
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-haskell hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-haskell
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-gnuplot hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-gnuplot
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-fortran hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-fortran
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-exp hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-exp
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-eval hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-eval
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-emacs-lisp hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-emacs-lisp
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-dot hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-dot
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-ditaa hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-ditaa
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-css hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-css
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-core hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-core
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-comint hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-comint
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-clojure hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-clojure
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-calc hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-calc
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-C hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-C
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-awk hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-awk
c:/Users/user/.emacs.d/opt/org-mode/lisp/ob-asymptote hides d:/opt/emacs/share/emacs/24.4/lisp/org/ob-asymptote
c:/Users/user/.emacs.d/elpa/htmlize-20130207.2102/htmlize hides c:/Users/user/.emacs.d/opt/org-mode/contrib/lisp/htmlize

Features:
(shadow mail-extr emacsbug sendmail misearch multi-isearch reftex-ref
reftex-parse reftex-dcr reftex-auc smartparens org-indent helm-command
helm-elisp helm-eval superword subword semantic/tag-file
semantic/db-file data-debug cedet-files semantic/wisent/python
semantic/decorate/include semantic/db-find semantic/db-ref
semantic/decorate/mode semantic/decorate pulse semantic/dep
semantic/wisent/python-wy semantic/wisent semantic/wisent/wisent
semantic/db-mode semantic/db semantic/idle semantic/format
semantic/tag-ls semantic/find semantic/ctxt semantic/util-modes
semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local
cedet helm-misc company-files company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-capf company-cmake company-ropemacs company-xcode company-clang
company-semantic company-eclim company-template company-css company-nxml
company-bbdb paredit rainbow-delimiters iso-transl winner ace-window
time helm-mode guide-key popwin git-gutter-fringe fringe-helper
git-gutter ace-jump-zap ace-jump-buffer recentf tree-widget bs
ace-isearch ace-jump-mode helm-swoop warnings sunrise-x-buttons
sunrise-commander term ehelp sort hl-line find-dired esh-var esh-io
esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module
esh-util esh-mode enriched desktop frameset dired-sort-menu+
dired-sort-menu dired+ w32-browser saveplace savehist poly-R
poly-markdown markdown-mode poly-noweb company-ess ess-toolbar ess-mouse
mouseme ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l
essd-els ess-sas-d ess-sas-l ess-sas-a ess-sta-d ess-sta-l make-regexp
ess-sp6w-d ess-sp3-d ess-julia ess-r-d ess-tracebug ess-roxy hideshow
ess-help ess-developer ess-r-args ess-s-l ess ess-inf ess-mode
ess-noweb-mode ess-utils ess-custom executable ess-compat ess-site
persp-projectile helm-projectile helm-files image-dired dired-x
dired-aux ffap helm-tags helm-bookmark helm-adaptive helm-info helm-net
browse-url bookmark helm-help helm-org helm-external helm-buffers
helm-match-plugin helm-grep helm-regexp helm-plugin helm-elscreen
helm-utils helm-locate helm helm-source helm-config async-bytecomp async
helm-aliases projectile ibuf-ext ibuffer pkg-info lisp-mnt epl f
perspective persp-mode haskell-mode haskell-string haskell-sort-imports
haskell-align-imports haskell-compat haskell-complete-module dabbrev
haskell-customize scala-mode2 scala-mode2-imenu scala-mode2-sbt
scala-mode2-map scala-mode2-fontlock scala-mode2-indent
scala-mode2-paragraph scala-mode2-syntax scala-mode2-lib haskell-yas
yasnippet highlight-indentation flymake company elpy pyvenv
elpy-refactor python ido files-x cus-edit virtualenvwrapper s
ucs-normalize fic-mode octave smie simple-httpd cider tramp-sh
cider-mode cider-repl cider-eldoc eldoc cider-interaction arc-mode
archive-mode cider-doc cider-test cider-stacktrace cider-client
nrepl-client queue cider-util clojure-mode etags help-at-pt lentic
m-buffer m-buffer-macro whitespace linum flycheck-color-mode-line
face-remap flycheck subr-x imenu ox-reveal ox-ravel ox-md ox-beamer
org-table org-ref reftex-cite reftex reftex-vars poly-org polymode
poly-base polymode-weave polymode-export polymode-methods
polymode-classes polymode-common eieio-custom eieio-base color org-panes
org-contacts org-agenda gnus-art mm-uu mml2015 mm-view mml-smime smime
dig gnus-sum nnoo gnus-group gnus-undo nnmail mail-source gnus-start
gnus-spec gnus-int gnus-range gnus-win ox-mediawiki ox-taskjuggler
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-freemind ox-latex
ox-icalendar ox-html ox-ascii ox-publish ox ob-plantuml ob-ditaa ob-C
ob-java ob-sh ob-js ob-clojure ob-matlab ob-octave ob-ruby ob-python
ob-dot ob-R ob-haskell ob-latex org-capture my-sumatra-forward preview
prv-emacs latex tex-style tex-buf tex crm circe lui-irc-colors lcs
lui-format lui tracking shorten flyspell ispell erc-track erc-services
erc-ring erc-networks erc-netsplit erc-menu erc-match erc-list
erc-pcomplete erc-button erc-fill erc-stamp erc-join erc-goodies erc
erc-backend erc-compat pp gnus gnus-ems nnheader wid-edit my-functions
edit-server whole-line-or-region delsel solarized-light-theme
solarized-theme solarized dash evil-org evil-leader evil-surround evil
evil-integration undo-tree diff evil-maps evil-commands
evil-command-window evil-types evil-search evil-ex evil-macros
evil-repeat evil-states evil-core evil-common windmove rect
evil-digraphs evil-vars use-package diminish bind-key paren iswitchb
cua-base cus-start cus-load org-id image-file org-magit rx
magit-key-mode magit view tramp tramp-compat tramp-loaddefs trampver
shell grep compile epa derived epg diff-mode autorevert filenotify
git-rebase-mode thingatpt git-commit-mode server log-edit pcvs-util
add-log ein-org ein-notebooklist ein-notebook eieio-opt speedbar
sb-image ezimage dframe help-mode ein-pytools ein-pager ein-completer
ein-subpackages ein-notification ein-scratchsheet ein-worksheet
ein-kill-ring ein-cell ein-output-area xml ein-kernelinfo ein-kernel
ein-query request ein-events ein-websocket websocket bindat ein-node
ein-log ewoc ein-core ein-utils json cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ein tabify vc-git
org-element org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view jka-compr image-mode dired org-bibtex bibtex org-bbdb org-w3m
cl-macs cl gv tex-site go-mode-autoloads edmacro kmacro cl-loaddefs
cl-lib finder-inf info org-outlook org-protocol advice org org-macro
org-footnote org-pcomplete pcomplete org-list org-faces org-entities
noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle
ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint comint
ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs
find-func cal-menu calendar cal-loaddefs mm-archive message format-spec
rfc822 mml easymenu mml-sec mailabbrev gmm-utils mailheader mm-decode
mm-bodies mm-encode mail-utils network-stream starttls url-http tls
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url-cache url-auth
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap url-handlers url-parse auth-source eieio
byte-opt bytecomp byte-compile cconv eieio-core gnus-util mm-util
help-fns mail-prsvr password-cache url-vars package epg-config time-date
tooltip electric uniquify 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
prog-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 nadvice 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
w32notify w32 multi-tty emacs)

Memory information:
((conses 16 1020365 108658)
 (symbols 56 87277 0)
 (miscs 48 2650 5243)
 (strings 32 226290 28158)
 (string-bytes 1 7120820)
 (vectors 16 113801)
 (vector-slots 8 2260661 41670)
 (floats 8 1104 651)
 (intervals 56 17413 71)
 (buffers 960 29))





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-08 14:57 bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument Fabio Leimgruber
@ 2015-02-08 19:29 ` Eli Zaretskii
  2015-02-08 19:43   ` Eli Zaretskii
  2015-02-09 14:46   ` Fabio Leimgruber
  0 siblings, 2 replies; 9+ messages in thread
From: Eli Zaretskii @ 2015-02-08 19:29 UTC (permalink / raw)
  To: Fabio Leimgruber; +Cc: 19817

> From: "Fabio Leimgruber" <fabio.leimgruber@web.de>
> Date: Sun, 8 Feb 2015 15:57:28 +0100
> 
> To reproduce, first copy `C:\Windows\System32\write.exe' to
> `C:\Windows\System32\write.test.exe'.  Then from a Command Prompt
> (i.e. cmd.exe, I will use `$' for distinction nonetheless):
> 
> $ cd D:\opt\emacs\libexec\emacs\24.4\x86_64-w64-mingw32
> 
> $ cmdproxy.exe -c "\"write\" \"d:/asdf.txt\""
> 
> works, whereas:
> 
> $ cmdproxy.exe -c "\"write.test\" \"d:/asdf.txt\""
> 
> fails with:
> 
> 'write.test" "d:' is not recognized as an internal or external command,
> operable program or batch file.

You are not supposed to invoke cmdproxy directly, only via Emacs
functions that invoke shell commands.  So please show a test case
which works with "write" or "write.exe" or "write.test.exe", but fails
with "write.test".

Also, why are you quoting file names that don't require any quotes?





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-08 19:29 ` Eli Zaretskii
@ 2015-02-08 19:43   ` Eli Zaretskii
  2015-02-09 14:46   ` Fabio Leimgruber
  1 sibling, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2015-02-08 19:43 UTC (permalink / raw)
  To: fabio.leimgruber; +Cc: 19817

> Date: Sun, 08 Feb 2015 21:29:01 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: 19817@debbugs.gnu.org
> 
> So please show a test case which works with "write" or "write.exe"
> or "write.test.exe", but fails with "write.test".

I meant a test case that tries to invoke these via Emacs functions.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-08 19:29 ` Eli Zaretskii
  2015-02-08 19:43   ` Eli Zaretskii
@ 2015-02-09 14:46   ` Fabio Leimgruber
  2015-02-09 17:43     ` Eli Zaretskii
  1 sibling, 1 reply; 9+ messages in thread
From: Fabio Leimgruber @ 2015-02-09 14:46 UTC (permalink / raw)
  To: 19817

On 2/8/15 8:29 PM, Eli Zaretskii wrote:
> 
> You are not supposed to invoke cmdproxy directly, only via Emacs
> functions that invoke shell commands.  So please show a test case
> which works with "write" or "write.exe" or "write.test.exe", but fails
> with "write.test".
> 

(defun compile-quoted (command &rest args)
  "Run `compile' with COMMAND and ARGS quoted.

Useful if you can not be sure if there are special characters in
the command or arguments, like `start-process' allows."
  (let ((compile-command (mapconcat #'shell-quote-argument
                                    (cons command args)
                                    " ")))
    (compile compile-command)))

(compile-quoted "write" "d:/asdf.txt")

(compile-quoted "write.test" "d:/asdf.txt")






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-09 14:46   ` Fabio Leimgruber
@ 2015-02-09 17:43     ` Eli Zaretskii
  2015-02-09 20:47       ` Fabio Leimgruber
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2015-02-09 17:43 UTC (permalink / raw)
  To: Fabio Leimgruber; +Cc: 19817

> Date: Mon, 09 Feb 2015 15:46:12 +0100
> From: Fabio Leimgruber <fabio.leimgruber@web.de>
> CC: 19817@debbugs.gnu.org
> 
> On 2/8/15 8:29 PM, Eli Zaretskii wrote:
> > 
> > You are not supposed to invoke cmdproxy directly, only via Emacs
> > functions that invoke shell commands.  So please show a test case
> > which works with "write" or "write.exe" or "write.test.exe", but fails
> > with "write.test".
> > 
> 
> (defun compile-quoted (command &rest args)
>   "Run `compile' with COMMAND and ARGS quoted.
> 
> Useful if you can not be sure if there are special characters in
> the command or arguments, like `start-process' allows."
>   (let ((compile-command (mapconcat #'shell-quote-argument
>                                     (cons command args)
>                                     " ")))
>     (compile compile-command)))
> 
> (compile-quoted "write" "d:/asdf.txt")
> 
> (compile-quoted "write.test" "d:/asdf.txt")

Thanks, I will look into this.

One question, though: which executable programs should exist in the
current directory for this test case to reproduce the problem?  Is the
answer write.exe and write.test.exe?  (I'm asking because the original
use case seemed to involve a batch file as well, which complicates
things quite a lot.)





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-09 17:43     ` Eli Zaretskii
@ 2015-02-09 20:47       ` Fabio Leimgruber
  2015-02-10 16:29         ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Leimgruber @ 2015-02-09 20:47 UTC (permalink / raw)
  To: 19817

On 2/9/15 6:43 PM, Eli Zaretskii wrote:
>>
>> (defun compile-quoted (command &rest args)
>>   "Run `compile' with COMMAND and ARGS quoted.
>>
>> Useful if you can not be sure if there are special characters in
>> the command or arguments, like `start-process' allows."
>>   (let ((compile-command (mapconcat #'shell-quote-argument
>>                                     (cons command args)
>>                                     " ")))
>>     (compile compile-command)))
>>
>> (compile-quoted "write" "d:/asdf.txt")
>>
>> (compile-quoted "write.test" "d:/asdf.txt")
> 
> Thanks, I will look into this.
> 
> One question, though: which executable programs should exist in the
> current directory for this test case to reproduce the problem?  Is the
> answer write.exe and write.test.exe?  (I'm asking because the original
> use case seemed to involve a batch file as well, which complicates
> things quite a lot.)
> 

Thanks for looking into this.

Regarding the executables: originally, this came to attention when we
tried to call a py.test.exe (installed via Python package manager) from
the testing machinery of elpy [1] - i.e. no batch files.  AFAICS, the
problem occurs with any .exe that is renamed so that the file name
contains a second dot.  I chose write.exe (and a copy renamed to
write.test.exe) from C:\Windows\System32 for a reproducible example
because it is already on %PATH% and most likely present on a standard
Windows system.

[1] https://github.com/jorgenschaefer/elpy







^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-09 20:47       ` Fabio Leimgruber
@ 2015-02-10 16:29         ` Eli Zaretskii
  2015-02-13 22:34           ` Fabio Leimgruber
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2015-02-10 16:29 UTC (permalink / raw)
  To: Fabio Leimgruber; +Cc: 19817

> Date: Mon, 09 Feb 2015 21:47:09 +0100
> From: Fabio Leimgruber <fabio.leimgruber@web.de>
> CC: 19817@debbugs.gnu.org
> 
> On 2/9/15 6:43 PM, Eli Zaretskii wrote:
> >>
> >> (defun compile-quoted (command &rest args)
> >>   "Run `compile' with COMMAND and ARGS quoted.
> >>
> >> Useful if you can not be sure if there are special characters in
> >> the command or arguments, like `start-process' allows."
> >>   (let ((compile-command (mapconcat #'shell-quote-argument
> >>                                     (cons command args)
> >>                                     " ")))
> >>     (compile compile-command)))
> >>
> >> (compile-quoted "write" "d:/asdf.txt")
> >>
> >> (compile-quoted "write.test" "d:/asdf.txt")
> > 
> > Thanks, I will look into this.
> > 
> > One question, though: which executable programs should exist in the
> > current directory for this test case to reproduce the problem?  Is the
> > answer write.exe and write.test.exe?  (I'm asking because the original
> > use case seemed to involve a batch file as well, which complicates
> > things quite a lot.)
> > 
> 
> Thanks for looking into this.
> 
> Regarding the executables: originally, this came to attention when we
> tried to call a py.test.exe (installed via Python package manager) from
> the testing machinery of elpy [1] - i.e. no batch files.  AFAICS, the
> problem occurs with any .exe that is renamed so that the file name
> contains a second dot.  I chose write.exe (and a copy renamed to
> write.test.exe) from C:\Windows\System32 for a reproducible example
> because it is already on %PATH% and most likely present on a standard
> Windows system.

There were a few issues in cmdproxy wrt this scenario.  I fixed them
on the emacs-24 branch, please take a look.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-10 16:29         ` Eli Zaretskii
@ 2015-02-13 22:34           ` Fabio Leimgruber
  2015-02-14  8:43             ` Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Fabio Leimgruber @ 2015-02-13 22:34 UTC (permalink / raw)
  To: 19817

Eli Zaretskii <eliz@gnu.org> writes:

> There were a few issues in cmdproxy wrt this scenario.  I fixed them
> on the emacs-24 branch, please take a look.

Thanks for fixing them, looks good from here.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument
  2015-02-13 22:34           ` Fabio Leimgruber
@ 2015-02-14  8:43             ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2015-02-14  8:43 UTC (permalink / raw)
  To: Fabio Leimgruber; +Cc: 19817-done

> From: "Fabio Leimgruber" <fabio.leimgruber@web.de>
> Date: Fri, 13 Feb 2015 23:34:01 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > There were a few issues in cmdproxy wrt this scenario.  I fixed them
> > on the emacs-24 branch, please take a look.
> 
> Thanks for fixing them, looks good from here.

Thanks, I'm therefore closing this bug.





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-02-14  8:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-08 14:57 bug#19817: 24.4; cmdproxy fails on some .exe when given a path argument Fabio Leimgruber
2015-02-08 19:29 ` Eli Zaretskii
2015-02-08 19:43   ` Eli Zaretskii
2015-02-09 14:46   ` Fabio Leimgruber
2015-02-09 17:43     ` Eli Zaretskii
2015-02-09 20:47       ` Fabio Leimgruber
2015-02-10 16:29         ` Eli Zaretskii
2015-02-13 22:34           ` Fabio Leimgruber
2015-02-14  8:43             ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).