Subject: Re: How to keep case in UNIX pathnames From: Erik Naggum <erik@naggum.net> Date: Mon, 27 May 2002 14:11:15 GMT Newsgroups: comp.lang.lisp Message-ID: <3231497465354155@naggum.net> * Aleksandr Skobelev <holycheck@mail.ru> | Or, may be, what is a proper way to use logical-pathnames with mixed-case | filenames under UNIX? You need to understand that the point with logical pathnames is to have a file-system--independent file naming convention that makes porting your application to a different system not require any internal changes. This is a fantastically useful thing. If Unix had had logical pathnames, Unix administration, setup, package installation, etc, would have been simple and straightforward. Instead, we have tons of different directories that need to be kept in sync, and packages have compiled-in pathnames. After I grokked logical pathnames, I have emulated or implemented them wherever I have gone. Global file systems are simply not good at what they attempt to do, and hardwiring directories into programs is simply wrong. The mapping from logical to physical pathnames is strictly one-way. The idea is to work within a known and safe universe of names and directories that are always portably mappable to physical pathnames. As long as you live within that universe, you have solved a number of problems that are hard even to understand are solvable without such a (standard) mechanism. So you construct the logical file system with a small number of logical hosts and name all your files within it/them, and then arrange for the physical world to have the physical files and directories to which they are mapped. Going the other way around is simply misguided. -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief. 70 percent of American adults do not understand the scientific process.