summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-09-07 19:21:08 +0300
committerEli Zaretskii <eliz@gnu.org>2016-09-07 19:21:08 +0300
commitec12c6705f91106c4f4c53e76447dafa21e12f9f (patch)
tree7cb9bc547541efe0c8ccafa9aa7a6f600f8194c8
parent5d2ac7435de679559aae0ede1d8b6f1750c09e68 (diff)
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.
-rw-r--r--etc/NEWS11
-rw-r--r--lisp/files.el4
2 files changed, 11 insertions, 4 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 79a476ca66..82eb2b8ef5 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 ff39008cdb..4bd708deed 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