[plt-scheme] module name case lossage in mzc --exe (with PlaneT) on Windows

From: Andrew Reilly (andrew-scheme at areilly.bpc-users.org)
Date: Wed Jul 25 04:07:09 EDT 2007

Here's a curly one:

I've got my program up to a stage where I'd like to show it to a few
colleagues, and I'd like to make that as simple a process as possible, so
I was planning to use mzc --exe and --exe-dir to produce a version that
was easy for them to get running.

I've been doing most of my work on Mac OS-X, (with case sensitivity
turned on in the file system, to be more Unix-like, in case that matters)
and FreeBSD, but my colleagues all use Windows.  I've verified that:
* my program works when run as "mzscheme -u program.ss args" on Mac and FreeBSD
* "mzscheme -u program.ss args" works on Windows command line.
* mzc --exe program program.ss produces program, which runs as "program args"
  on my mac.
* mzc --exe-dir comp program produces a directory where comp/bin/program
  runs nicely (on my mac).

OK, here's the curly:
mzc --exe program.exe program.ss, on Windows, stops with the error
message (transcribed by hand):
Getting #<path:c:\documents and settings\administrator\application
load-handler: expected a `module' declaration for `sxml-tree-trans' in
#<path:c:\documents and settings\administrator\application
found: SXML-tree-trans

My program is composed of many modules, one of which has the following
require lines:

  (require (planet "ssax.ss" ("lizorkin" "ssax.plt" 1 3)))
  (require (planet "sxml-match.ss" ("jim" "sxml-match.plt" 1 0)))

On both the Windows and Mac machines, the planet cache directory
contains the file SXML-tree-trans.ss, with that capitalization.

I'm guessing that this is a bug in the Windows version of
mzc, since mzscheme doesn't mind it on either platform,
and mzc is OK on OS-X.  Is the appropriate work-around to
rename SXML-tree-trans.ss to lower-case, or to go looking for
references to it in lower case and change them to upper case.
Or maybe to change the language settings to be case-insensitive,



Posted on the users mailing list.