Document MS-Windows file-name idiosyncrasies (Bug#19463)

doc/emacs/msdog.texi (Windows Files): Document characters invalid in
 Windows file names.
This commit is contained in:
Eli Zaretskii 2015-01-31 18:32:11 +02:00
parent f3faf4f027
commit 017a03afc9
2 changed files with 39 additions and 1 deletions

View file

@ -1,5 +1,8 @@
2015-01-31 Eli Zaretskii <eliz@gnu.org> 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 * custom.texi (Customization Groups): Update the looks of the
Customize Group buffer. Customize Group buffer.

View file

@ -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 Dired and other related features. The value of @code{nil} means never
issue those system calls. Non-@code{nil} values are more useful on issue those system calls. Non-@code{nil} values are more useful on
NTFS volumes, which support hard links and file security, than on FAT, 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 @node ls in Lisp
@section Emulation of @code{ls} on MS-Windows @section Emulation of @code{ls} on MS-Windows