summaryrefslogtreecommitdiff
path: root/lisp/eshell/esh-arg.el
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2008-07-17 08:44:20 +0000
committerJohn Wiegley <johnw@newartisans.com>2008-07-17 08:44:20 +0000
commit70357d07233119dc37ce23bfd96eea96bc9c0c5b (patch)
tree4ea68bba8e674996e62a7b7e09c1d8411fe4783a /lisp/eshell/esh-arg.el
parent64cc2f2cca248c8e8ce2e5a24129042173349208 (diff)
downloademacs-70357d07233119dc37ce23bfd96eea96bc9c0c5b.tar.gz
emacs-70357d07233119dc37ce23bfd96eea96bc9c0c5b.tar.bz2
emacs-70357d07233119dc37ce23bfd96eea96bc9c0c5b.zip
2008-07-17 Fan Kai <fktpp@xemacs.org>
* esh-arg.el (eshell-quote-backslash): Fix eshell path completion for Windows.
Diffstat (limited to 'lisp/eshell/esh-arg.el')
-rw-r--r--lisp/eshell/esh-arg.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/eshell/esh-arg.el b/lisp/eshell/esh-arg.el
index 7e86772e797..d6dd5b23d0f 100644
--- a/lisp/eshell/esh-arg.el
+++ b/lisp/eshell/esh-arg.el
@@ -282,7 +282,11 @@ Point is left at the end of the arguments."
"Intelligently backslash the character occurring in STRING at INDEX.
If the character is itself a backslash, it needs no escaping."
(let ((char (aref string index)))
- (if (eq char ?\\)
+ (if (and (eq char ?\\)
+ (not (and (featurep 'mswindows)
+ (eq directory-sep-char ?\\)
+ (eq (1- (string-width string))
+ index))))
(char-to-string char)
(if (memq char eshell-special-chars-outside-quoting)
(string ?\\ char)))))