develooper Front page | perl.perl5.porters | Postings from June 2008

Re: [perl #55162] Re: File::Spec Cygwin/Win32 case_tolerant improvement

Thread Previous | Thread Next
Reini Urban
June 3, 2008 07:12
Re: [perl #55162] Re: File::Spec Cygwin/Win32 case_tolerant improvement
Message ID:
2008/6/2 Jan Dubois <>:
> On Mon, 02 Jun 2008, Reini Urban wrote:
>> Jan Dubois schrieb:
>> > I don't like the hard-coded "C:" in your patch.  Assuming you want to
>> > specify the drive where Windows itself was installed, you should
>> > write something like this:
>> No.
>> case_tolerant is normally used platform-specific only, and not
>> drive-specific. So the 99% usecase is without any argument,
>> hence just C: (first drive) and not SYSTEMDRIVE // WINDIR
> I don't really understand what you are saying here.

The function case_tolerant() has on all other platforms no argument.
And it is used always without.
So this checks the platform specification and not the drive specs.
However case-tolerance is normally mount point / drive-letter specific.
Win32 and Cygwin accept now the drive-letter resp. mount point.
The modules and scripts which use File::Spec::case_tolerant should start
using the argument, to make sense. Unix and others ignore it as
long there's no case-tolerant mount point setting involved.
For NFS or samba shares we have known limitations so far.

> For example it is definitely possible to have an XP system that doesn't even have
> a C: drive at all, so assuming that C: is always available and the
> first drive in the machine doesn't always hold.  The only drive that
> MUST be there is the SYSTEMDRIVE, because this is where the OS itself
> and the local user profiles are installed.

Ok, I never thought about non-C: Windows systems.
The cygwin logic is also simplified now.
I also added a comment about the missing mount-point arg.
Ken, okay for you?
Revised patches attached

TODO on Unix:
Dropped HFS+ its case-intolerancy as announced?
FAT support (memory cards, usb sticks e.g.)
  check smb.cnf:
	case sensitive = no
NFS: mount flag -o casesensitive

Don't we have acorn? There's nothing in Configure and no hints for acorn.
The Acorn FS would be case tolerant.
Reini Urban

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About