I just tagged and uploaded to the IF Archive my latest release of the Inform6 development package for Unix machines. This release contains the Inform6 compiler version 6.35, the Standard Library version 6.12.5, and PunyInform 2.6. I decided to add PunyInform because of its growing popularity in combination with running games on old hardware. This required quite a bit of reworking of the installation process.
To compile something using PunyInform, simply type punyinform instead of inform. For example:
There has been some irritating oversights, so I’ve asked the IF Archive curators to delete my uploads. The Library is definitively fixed. There’s one remaining weird problem with detecting case-insensitive filesystems.
mmmm… (doing a quick grep) Indeed there’s various mixed-case 8 letter, or less filenames, some even with .INF (all uppercase) extension, in my if/src/inf6 (basically a mirror of ifarchive’s games/source/inform)
That those files’s case can collide with their relevant #include in their main files is indeed a concrete serious issue, more so for an historian like me.
The main problem with case in the package is that many Inform6 sources expect capitalized library files. To deal with this, I have symlinks of capitalized and camelcased names back to the original files. This has been done before I took over the package.
If you’re on a case insensitive filesystem and do these symlinks, you end up with symlinks pointing to themselves. The expected contents are gone. So I devised a test to see if such corruption would happen. If so, the symlinks are not added.
This chiefly affects macOS. PunyInform’s files are all lowercased from the beginning, so it is not affected.
That wouldn’t work either because I need something to run in a Unix shell that determines if the filesystem is case-sensitive or not. What I did is touch two files: ctesta and ctestA. Then I do ls ctest?. If this is a case-sensitive filesystem, two files should be shown. If not, just one file.