Subject: 23.0.60; read-shell-command does not support Windows ".." quoting of file names with embedded white space

From: Eli Zaretskii <[email-masked]>
Date: Sun, 19 Oct 2008 18:29:28 +0200

Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the [email-masked] mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

On MS-Windows:

  emacs -Q
  M-! "C:/Progra TAB

This correctly completes to `"c:/Program Files/'.  However, the next
TAB fails with `[No completions of Files/]', which is an evidence that
`read-shell-command' does not pay attention to the fact that the
command begins with a quote character.

If I type the closing quote character manually, then

  "C:/Program Files/" TAB

pops up a *Completions* buffer with files in my home directory (???),
which is again incorrect.

When I try similar things on GNU/Linux, completion works correctly,
quoting whitespace with a backslash.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
d:/gnu/emacs/etc/DEBUG for instructions.

In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2008-10-19 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1255
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

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

Recent input:
<return> <backspace> <C-home> <down> C-SPC <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <C-end> M-w <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
C-x b <return> C-u 7 C-x ^ C-h f <up> <up> <up> <up> 
<up> <down> <up> <down> <return> C-u 7 C-x ^ C-x o 
<down> <down> <left> <left> <left> <left> <left> <left> 
<return> C-x o C-x o <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <up> <up> <up> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <up> <up> <up> <up> <up> <C-right> <C-right> 
<C-right> <C-right> <right> <right> C-SPC <C-right> 
<C-right> <C-right> <C-right> <C-right> <C-right> <C-right> 
M-w <help-echo> <help-echo> <help-echo> <help-echo> 
M-! " C : / P r o g r <tab> M I c <tab> <backspace> 
<backspace> i c <tab> <backspace> <backspace> <tab> 
<backspace> <tab> <left> <right> <tab> <backspace> 
<tab> <tab> <backspace> <backspace> <backspace> <backspace> 
<backspace> <backspace> <backspace> <tab> <tab> <tab> 
<tab> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <backspace> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> \ C-e 
<tab> <C-left> <C-left> <C-left> " C-e <tab> <help-echo> 
C-g <down> <down> <left> <left> <left> <left> <left> 
C-h f <return> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<C-left> <C-left> <C-left> <C-left> <C-left> C-SPC 
<C-right> <C-right> <C-right> <C-right> <C-right> M-w 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <left> <left> <left> <left> <left> <left> 
C-h v <return> C-x o <next> <next> <next> <next> <prior> 
<prior> <prior> <prior> <prior> <M-home> C-x o M-! 
" C : / P r o <tab> <tab> C-g M-x r e p o r t <tab> 
<return>

Recent messages:
Mark set [2 times]
Saved text from "To: [email-masked]
Subject: 2"
Auto-saving...
Type C-x 4 C-o RET to restore the other window.
Mark set
Quit
Mark set
call-interactively: Beginning of buffer
Mark set
Quit