Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

rjbs (4671)

rjbs
  (email not shown publicly)
http://rjbs.manxome.org/
AOL IM: RicardoJBSignes (Add Buddy, Send Message)
Yahoo! ID: RicardoSignes (Add User, Send Message)

I'm a Perl coder living in Bethlehem, PA and working Philadelphia. I'm a philosopher and theologan by training, but I was shocked to learn upon my graduation that these skills don't have many associated careers. Now I write code.

Journal of rjbs (4671)

Tuesday April 10, 2007
09:33 AM

vim and fs case sensitivity: the little things count

[ #32955 ]

For months, I have been getting driven up the wall by some stupid Vim behavior. When run on Linux, filename completion is case sensitive. When run on Mac OS, it is not. This is despite the fact that I'm running it on a case-sensitive filesystem.

I never cared much until CPANTS started wanting all dists to have a human-readable license file. (Apparently, a link to perlartistic was not enough -- but that's another rant.) Now all my dists had LICENSE and lib and when working on my laptop, where I do most of my work, I couldn't hit :e l<tab> and complete lib. I'd get the wildmenu for the two options.

I asked around, poured through help files, and found nothing. Finally, someone on the mailing list said that it was a compile-time option, but that they didn't see any reason OS X was using it. I think they didn't have the right file in their build tree, because when I checked out the source, I found it.

This patch has made my life better already:

Index: src/os_mac.h
================================================================== =
--- src/os_mac.h        (revision 242)
+++ src/os_mac.h        (working copy)
@@ -83,7 +83,6 @@
#define FEAT_SOURCE_FF_MAC

#define USE_EXE_NAME               /* to find  $VIM */
-#define CASE_INSENSITIVE_FILENAME   /* ignore case when comparing file names */
#define SPACE_IN_FILENAME
#define BREAKCHECK_SKIP           32       /* call mch_breakcheck() each time, it's

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Before I read your note I was wondering why humans would ever want case sensitive filesystems at all. I always figured that it was an unfortunate accident of history that *NIX fileystems are case-sensitive.
    • I don't think there is any compelling reason I can think of for users to want case-sens filesystem everywhere. My complaint, and others like it, aren't good arguments, since I might someday have "t" and "test.pl" -- or whatever. Then again, you'd want to store filenames in a canonical case for easy bytewise comparison, and then have case preserved for display, which is just sure to be a PITA, so I think it's a tolerable compromise between users and coders.

      After all, my problem is really one of "my program
      --
      rjbs