Michel Demazure wrote in post #1120005:
> A (bad ?) solution would be for 'require' to give a warning when the
> filename argument is capitalized. Why not ?

Well, on some filesystems (such as the EXT family in Linux), filenames
are case-sensitive, so it is possible to create both tempfile.rb and
Tempfile.rb in the same directory, and load them independently of each
other.  Whether or not there's a legitimate use-case is another issue
altogether.

In a similar vein, if you'd run your script on a case-sensitive
filesystem (or in Linux) the error would have emerged immediately:
LoadError: cannot load such file -- Tempfile

Maybe the Windows build of ruby could canonicalise filenames before
requiring them, but that would be a system-specific thing, not a part of
ruby as a whole.  A similar thing would already have to be done on a VMS
system, for example, to convert ruby's "a/b/c.rb" syntax to the
filesystem's "[A.B]C.RB"

However the next most immediate issue I can imagine in that can of worms
is: how much normalisation should be done?  Some filesystems are ASCII,
some support UTF-8, some use other standard or custom encodings.  Now
that we've added a canonicalisation/normalisation on Windows/DOS
filesystems, do we also add a conversion to/from various encodings for
each system and its filesystem's quirks?  On a fictional UTF-8-friendly
filesystem I just invented, does the file "ickvn.rb"
(\xef\xac\x82\x69\x63\x6b\x76\xc3\xa4\x6e\x2e\x72\x62) correspond with
"flickvn.rb" (\x66\x6c\x69\x63\x6b\x76\xc3\xa4\x6e\x2e\x72\x62) or
"ickvn.rb" (\xef\xac\x82\x69\x63\x6b\x76\x61\xcc\x88\x6e\x2e\x72\x62)?
Is it ruby's job to know this, or enforce it?