From: Eli Zaretskii <eliz@gnu.org>
Date: Wed, 7 Sep 2016 16:21:08 +0000 (+0300)
Subject: Fix documentation of convert-standard-filename on MS-Windows
X-Git-Tag: emacs-26.0.90~1642
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ec12c6705f91106c4f4c53e76447dafa21e12f9f;p=emacs.git

Fix documentation of convert-standard-filename on MS-Windows

* lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)

* etc/NEWS: Suggest a way for mirroring slashes where previously
'convert-standard-filename' was used.
---

diff --git a/etc/NEWS b/etc/NEWS
index 79a476ca665..82eb2b8ef52 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -605,7 +605,16 @@ 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.
+file names into backslashes.  It no longer does that.  If your Lisp
+program used 'convert-standard-filename' to prepare file names to be
+passed to subprocesses (which is not the recommended usage of that
+function), you will now have to mirror slashes in your application
+code.  One possible way is this:
+
+         (let ((start 0))
+           (while (string-match "/" file-name start)
+             (aset file-name (match-beginning 0) ?\\)
+             (setq start (match-end 0))))
 
 ** GUI sessions now treat SIGINT like Posix platforms do.
 The effect of delivering a Ctrl-C (SIGINT) signal to a GUI Emacs on
diff --git a/lisp/files.el b/lisp/files.el
index ff39008cdbf..4bd708deed8 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -609,9 +609,7 @@ is a valid DOS file name, but c:/bar/c:/foo is not.
 This function's standard definition is trivial; it just returns
 the argument.  However, on Windows and DOS, replace invalid
 characters.  On DOS, make sure to obey the 8.3 limitations.
-In the native Windows build, turn Cygwin names into native names,
-and also turn slashes into backslashes if the shell requires it (see
-`w32-shell-dos-semantics').
+In the native Windows build, turn Cygwin names into native names.
 
 See Info node `(elisp)Standard File Names' for more details."
   (cond