From: Eli Zaretskii Date: Mon, 25 Apr 2016 08:50:37 +0000 (+0300) Subject: Don't mirror slashes in convert-standard-filename on MS-Windows X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/438b98e5b70c55129453870b870a139c4a4a77fd 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. --- diff --git a/etc/NEWS b/etc/NEWS index f964e71f8b..eff5472e1b 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 472355741b..690a990208 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)