Subject: bug#11348: 24.0.95; TAB-completion in shell-command produces d:\/foo on MS-Windows

From: Eli Zaretskii <[email-masked]>
Date: Tue, 08 May 2012 21:56:02 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [email-masked]
> Date: Mon, 07 May 2012 20:27:36 -0400
> 
> >> No, it does match "\g" but then the new code:
> >> 
> >> (push (cond
> >> ((null pcomplete-arg-quote-list)
> >> (goto-char (match-beginning 3)) "\\")
> >> ((= (match-beginning 3) (match-end 3)) "\\")
> >> (t (match-string 3)))
> >> arg))
> >> 
> >> sees that pcomplete-arg-quote-list is nil, pushes "\\" and moves
> >> backward 1 char (to right before the "g") so you end up with
> >> ("gnu" "\\" "d:").
> >> 
> >> Can you check to see why this is not happening?
> 
> > ?? Why should pcomplete-arg-quote-list be nil?  In that same change, you
> > set it to shell-delimiter-argument-list, which is a non-empty list.
> 
> Duh! I see I committed the wrong version.  I've just installed the patch
> below which should hopefully fix this one for good this time.

Thanks.  This fixes the original recipe.  But the following minor
variation (which works correctly in Emacs 23.3) still misfires:

  M-! cd "d:\gnu TAB

I get "d:\/gnu/ after I press TAB above.