summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-04-25 11:50:37 +0300
committerEli Zaretskii <eliz@gnu.org>2016-04-25 11:50:37 +0300
commit438b98e5b70c55129453870b870a139c4a4a77fd (patch)
tree5ca1de0007e7d505f1c93649ea7d4df3472acdd9
parente43557e6845dbd6fda921d0a433782506af58b6f (diff)
downloademacs-438b98e5b70c55129453870b870a139c4a4a77fd.tar.gz
Don't mirror slashes in convert-standard-filename on MS-Windows
* lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror slashes into backslashes. This avoids producing ugly file names, and is deemed no longer necessary, and should certainly be unrelated to which shell is in use.
-rw-r--r--etc/NEWS4
-rw-r--r--lisp/w32-fns.el10
2 files changed, 5 insertions, 9 deletions
diff --git a/etc/NEWS b/etc/NEWS
index f964e71f8b6..eff5472e1bd 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -418,6 +418,10 @@ Windows NT and later you can now register any hotkey combination. (On
Windows 9X, the previous limitations, spelled out in the Emacs manual,
still apply.)
+** `convert-standard-filename' no longer mirrors slashes on MS-Windows.
+Previously, on MS-Windows this function converted slash characters in
+file names into backslashes. It no longer does that.
+
* Installation Changes in Emacs 25.1
diff --git a/lisp/w32-fns.el b/lisp/w32-fns.el
index 472355741b8..690a9902087 100644
--- a/lisp/w32-fns.el
+++ b/lisp/w32-fns.el
@@ -200,8 +200,7 @@ certain patterns.
This function is called by `convert-standard-filename'.
Replace invalid characters and turn Cygwin names into native
-names, and also turn slashes into backslashes if the shell
-requires it (see `w32-shell-dos-semantics')."
+names."
(save-match-data
(let ((name
(if (string-match "\\`/cygdrive/\\([a-zA-Z]\\)/" filename)
@@ -216,13 +215,6 @@ requires it (see `w32-shell-dos-semantics')."
(while (string-match "[?*:<>|\"\000-\037]" name start)
(aset name (match-beginning 0) ?!)
(setq start (match-end 0)))
- ;; convert directory separators to Windows format
- ;; (but only if the shell in use requires it)
- (when (w32-shell-dos-semantics)
- (setq start 0)
- (while (string-match "/" name start)
- (aset name (match-beginning 0) ?\\)
- (setq start (match-end 0))))
name)))
(defun set-w32-system-coding-system (coding-system)