File Name CaseWhen retrieving file names from some file systems, Epsilon automatically translates the file names to lower case. Epsilon uses various different rules for determining when to convert retrieved file names to lower case, and when two file names that differ only by case refer to the same file.
Epsilon distinguishes between three types of file systems:
On a case-sensitive file system, MyFile, MYFILE, and myfile refer to three different files. Unix file systems are normally case-sensitive.
On a case-preserving (but not case-sensitive) file system, MyFile, MYFILE, and myfile all refer to the same file. But if you create a file as MyFile, the file system will display that file as MyFile without altering its case. VFAT, NTFS, and HFS file systems used in Windows and Mac OS are case-preserving.
On a non-case-preserving file system, MyFile, MYFILE, and myfile all refer to the same file. Moreover, the operating system converts all file names to upper case. So no matter how you create the file, the operating system always shows it as MYFILE. DOS's FAT file system is non-case-preserving. When Epsilon displays a file name from such a file system, it changes the file name to all lower case.
Epsilon for Windows asks the operating system for information on each drive, the first time the drive is accessed. Epsilon for Unix assumes all file systems are case-sensitive (for Mac OS, case-preserving), and the rest of this section does not apply.
You can tell Epsilon to use particular rules for each drive on your system by defining an environment variable. The MIXEDCASEDRIVES environment variable should contain a list of drive letters or ranges. If the variable exists and a lower case letter like k appears in it, Epsilon assumes drive K: has a Unix-style case-sensitive file system. If the variable exists and an upper case letter like J appears in it, Epsilon assumes drive J: is not case-preserving or case-sensitive, like traditional FAT drives. If the variable exists but a drive letter does not appear in it, Epsilon assumes the drive has a case-preserving but not case-sensitive file system like NTFS, HPFS, or VFAT drives.
If, for example, drives h:, i:, j:, and p: access Unix filesystems
over a network, drive q: accesses a server that uses a FAT filesystem,
and other drives use a VFAT filesystem (local drives under Windows,
for example), you could set MIXEDCASEDRIVES to
You can set the variable preserve-filename-case nonzero to tell Epsilon to use the case of filenames exactly as retrieved from the operating system. By default, Epsilon for Windows changes all-uppercase file names to lower case, except on case-sensitive file systems. The variable also controls case conversion rules when Epsilon picks a buffer name for a file, and related settings.