From: Dave B. <da...@ta...> - 2001-10-07 17:00:17
|
At 10:10 21/09/2001, Matthias Blume wrote: >> We could even go so far as to require that no files >> in a given library should be case-insensitive-equal. ... > >This I wouldn't do -- not as a requirement that we burn into a language >spec. The main reason for my saying this is that we should not have to care >about such OS- and filesys-specifics at all. One thing to consider is whether to provide any support for directories in the file paths. If so, then either we need a convention for directory syntax, or people may have to rewrite their project files when they move between OSs. (Although I believe Windows now recognises Unix-style directory syntax -- i.e forward slash). If we do adopt such a convention, then we are already part way to limiting the names that can appear. >Otherwise there will be no end >to it: That depends; portability isn't all or nothing. As a concrete proposal, suppose that files had to use the following character set: [a-zA-Z0-9_+.-], they had to be case-insensitive, and directories were indicated with forward slashes. This would be portable across all versions of Windows (including CE, and including both FAT and NTFS), all versions of Unix/Linux, and (I think) MacOS. Projects might not port to OS's that limit the length of file names beyond the user's choice of names, or OS's that have other limitations; in these cases users would have to rewrite the file names. So this achieves a level of portability that is pragmatically useful, and is never worse than the alternative. Possibly the most annoying effect of this limitation would be on people who want to write filenames in an non-English language. But they already have to write all their identifiers in ASCII. I'm not strongly wedded to this argument, I just think it's worth considering. Dave. |