# from Duncan Murdoch
# on Wednesday 09 May 2007 03:50 am:
>I argued that the case-insensitive behaviour was
>correct, because you're asking the underlying file system to look up
> the name, and you should follow whatever convention is used there.
If it is your program interface, it should not try to emulate the
filesystem. It should just behave as documented.
Case-insensitive is never correct because 65!=97. The case-insensitive
filesystems are broken in that they cannot treat files Install,
install, and INSTALL as unique even though the files install1 and
install2 are different. To fully implement the metaphor of 65==97, one
should be able to type any random string and get the right file. This,
of course, means the system can only have one file, which is why they
only went with a small slice of broken metaphor.
>Others thought this was closer to asking R to perform "INSTALL", and R
>is case sensitive, so the command request should be too.
They are correct. If anything, you would lc() the command, but that is
also a possibility for bugs. The user just needs to turn off the caps
lock and everything will be fine.
In any case, the underlying filesystem is zip -- more precisely:
Archive::Zip, which does a ($name eq $wanted) search when you ask
whether a member exists, etc. So, you won't get A when you ask for a.
I can't see par going to any extra effort to behave like this. It
already works-around the bugs *caused* by case-insensitive filesystems
-- I would say it is a bad idea to introduce more bugs by trying to
emulate a broken behavior.
--Eric
--
The opinions expressed in this e-mail were randomly generated by
the computer and do not necessarily reflect the views of its owner.
--Management
---------------------------------------------------
http://scratchcomputing.com
---------------------------------------------------