summaryrefslogtreecommitdiff
path: root/lisp/eshell/esh-arg.el
diff options
context:
space:
mode:
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)))))