GNU Info

Info Node: (emacs)MS-DOS File Names

(emacs)MS-DOS File Names


Next: Text and Binary Prev: MS-DOS Display Up: MS-DOS
Enter node , (file) or (file)node

File Names on MS-DOS
====================

   MS-DOS normally uses a backslash, `\', to separate name units within
a file name, instead of the slash used on other systems.  Emacs on
MS-DOS permits use of either slash or backslash, and also knows about
drive letters in file names.

   On MS-DOS, file names are case-insensitive and limited to eight
characters, plus optionally a period and three more characters.  Emacs
knows enough about these limitations to handle file names that were
meant for other operating systems.  For instance, leading dots `.' in
file names are invalid in MS-DOS, so Emacs transparently converts them
to underscores `_'; thus your default init file (Note: Init File) is
called `_emacs' on MS-DOS.  Excess characters before or after the
period are generally ignored by MS-DOS itself; thus, if you visit the
file `LongFileName.EvenLongerExtension', you will silently get
`longfile.eve', but Emacs will still display the long file name on the
mode line.  Other than that, it's up to you to specify file names which
are valid under MS-DOS; the transparent conversion as described above
only works on file names built into Emacs.

   The above restrictions on the file names on MS-DOS make it almost
impossible to construct the name of a backup file (Note: Backup
Names) without losing some of the original file name characters.  For
example, the name of a backup file for `docs.txt' is `docs.tx~' even if
single backup is used.

   If you run Emacs as a DOS application under Windows 9X, Windows ME,
or Windows 2000, you can turn on support for long file names.  If you do
that, Emacs doesn't truncate file names or convert them to lower case;
instead, it uses the file names that you specify, verbatim.  To enable
long file name support, set the environment variable `LFN' to `y'
before starting Emacs.  Unfortunately, Windows NT doesn't allow DOS
programs to access long file names, so Emacs built for MS-DOS will only
see their short 8+3 aliases.

   MS-DOS has no notion of home directory, so Emacs on MS-DOS pretends
that the directory where it is installed is the value of `HOME'
environment variable.  That is, if your Emacs binary, `emacs.exe', is
in the directory `c:/utils/emacs/bin', then Emacs acts as if `HOME'
were set to `c:/utils/emacs'.  In particular, that is where Emacs looks
for the init file `_emacs'.  With this in mind, you can use `~' in file
names as an alias for the home directory, as you would on GNU or Unix.
You can also set `HOME' variable in the environment before starting
Emacs; its value will then override the above default behavior.

   Emacs on MS-DOS handles the directory name `/dev' specially, because
of a feature in the emulator libraries of DJGPP that pretends I/O
devices have names in that directory.  We recommend that you avoid
using an actual directory named `/dev' on any disk.


automatically generated by info2www version 1.2.2.9