summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-01-31 18:32:11 +0200
committerEli Zaretskii <eliz@gnu.org>2015-01-31 18:32:11 +0200
commit017a03afc92ba084898fc897c7e3dbf90197e0b6 (patch)
treeb153f6f53dc75f228b9df46e31535f46d2a8fc25 /doc
parentf3faf4f0275d7f94011464ca35d4e7a7ce49b746 (diff)
downloademacs-017a03afc92ba084898fc897c7e3dbf90197e0b6.tar.gz
Document MS-Windows file-name idiosyncrasies (Bug#19463)
doc/emacs/msdog.texi (Windows Files): Document characters invalid in Windows file names.
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog3
-rw-r--r--doc/emacs/msdog.texi37
2 files changed, 39 insertions, 1 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 4e3c60efa03..7d8fcf4cb6d 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,5 +1,8 @@
2015-01-31 Eli Zaretskii <eliz@gnu.org>
+ * msdog.texi (Windows Files): Document characters invalid in
+ Windows file names. (Bug#19463)
+
* custom.texi (Customization Groups): Update the looks of the
Customize Group buffer.
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index bf130eba7c2..0245fed208c 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -249,7 +249,42 @@ removable and remote volumes, where this could potentially slow down
Dired and other related features. The value of @code{nil} means never
issue those system calls. Non-@code{nil} values are more useful on
NTFS volumes, which support hard links and file security, than on FAT,
-FAT32, and XFAT volumes.
+FAT32, and exFAT volumes.
+
+@cindex file names, invalid characters on MS-Windows
+ Unlike Unix, MS-Windows file systems restrict the set of characters
+that can be used in a file name. The following characters are not
+allowed:
+
+@itemize @bullet
+@item
+Shell redirection symbols @samp{<}, @samp{>}, and @samp{|}.
+
+@item
+Colon @samp{:} (except after the drive letter).
+
+@item
+Forward slash @samp{/} and backslash @samp{\} (except as directory
+separators).
+
+@item
+Wildcard characters @samp{*} and @samp{?}.
+
+@item
+Control characters whose codepoints are 1 through 31 decimal. In
+particular, newlines in file names are not allowed.
+
+@item
+The null character, whose codepoint is zero (this limitation exists on
+Unix filesystems as well).
+@end itemize
+
+@noindent
+In addition, referencing any file whose name matches a DOS character
+device, such as @file{NUL} or @file{LPT1} or @file{PRN} or @file{CON},
+with or without any file-name extension, will always resolve to those
+character devices, in any directory. Therefore, only use such file
+names when you want to use the corresponding character device.
@node ls in Lisp
@section Emulation of @code{ls} on MS-Windows