Lugaru's Epsilon Programmer's Editor
Context:
|
Epsilon User's Manual and Reference > Commands by Topic > Buffers and Files > Files > 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 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 HPFS file systems used in Windows and OS/2 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 asks the operating system for information on each drive, the first time the drive is accessed. (Actually only Epsilon for 32-bit Windows and Epsilon for OS/2 can do this; Epsilon for Windows 3.1 assumes that all drives are non-case-preserving. Epsilon for DOS asks the operating system when it runs under Windows 95/98; in other environments it assumes drives are non-case-preserving. Epsilon for Unix assumes all file systems are case-sensitive, 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 changes all-uppercase file names to lower case, except on case-sensitive file systems.
|