Inform 10.1.2 / inform-ide bug: "for use with" does not work with unusual author names

While trying to set up some extensions, I recently discovered a bug, either in the Linux inform7-ide v2.0.0 or in Inform v10.1.2. It seems that author names involving one word and more than one capital letter (such as FLACRabbit) disrupt the “for use with” functionality (see WWI 27.9). Simply including those extensions continues to function as normal, but even if both are successfully included, “for use with” sections will decide that the extension in question is not present. When the name is changed to the standard format of two capitalized words, the system works as intended.

Try this example:

Broken example

Minimal Reproducible Example.inform in ~/Inform/Projects, source text:

"Minimal Reproducible Example" by "FLACRabbit"

Include Base Extension by FLACRabbit.
Include Conditional Extension by FLACRabbit.

Place is a room.

Base Extension.i7x in ~/Inform/Extensions/FLACRabbit:

Base Extension by FLACRabbit begins here.

When play begins:
	say "Base extension is included."

Base Extension ends here.

Conditional Extension.i7x in ~/Inform/Extensions/FLACRabbit:

Conditional Extension by FLACRabbit begins here.

When play begins:
	say "Conditional extension is included."
	
Section A (for use with Base Extension by FLACRabbit)

When play begins:
	say "Conditional extension sees that Base Extension is being used."
	
Section B (for use without Base Extension by FLACRabbit)

When play begins:
	say "Conditional extension sees that Base Extension is NOT being used."

Conditional Extension ends here.

This produces the following (incorrect) output:

Base extension is included.

Conditional extension is included.

Conditional extension sees that Base Extension is NOT being used.

Minimal Reproducible Example
An Interactive Fiction by FLACRabbit
Release 1 / Serial number 230827 / Inform 7 v10.1.2 / D

Place

>

When the following changes are made, the system functions properly:

Functional example

Minimal Reproducible Example.inform in ~/Inform/Projects, source text:

"Minimal Reproducible Example" by "FLACRabbit"

Include Base Extension by Flac Rabbit.
Include Conditional Extension by FLACRabbit.

Place is a room.

Base Extension.i7x in ~/Inform/Extensions/Flac Rabbit:

Base Extension by Flac Rabbit begins here.

When play begins:
	say "Base extension is included."

Base Extension ends here.

Conditional Extension.i7x in ~/Inform/Extensions/FLACRabbit:

Conditional Extension by FLACRabbit begins here.

When play begins:
	say "Conditional extension is included."
	
Section A (for use with Base Extension by Flac Rabbit)

When play begins:
	say "Conditional extension sees that Base Extension is being used."
	
Section B (for use without Base Extension by Flac Rabbit)

When play begins:
	say "Conditional extension sees that Base Extension is NOT being used."

Conditional Extension ends here.

This produces the following (correct) output:

Base extension is included.

Conditional extension is included.

Conditional extension sees that Base Extension is being used.

Minimal Reproducible Example
An Interactive Fiction by FLACRabbit
Release 1 / Serial number 230827 / Inform 7 v10.1.2

Place

> 

Note that the author name only has to be changed for Base Extension.

Has anyone else seen this bug? If so, has it been reported or fixed in newer versions of the software?

This sounds like the Inform compiler rather than the IDE at first glance, but I wouldn’t rule out the IDE 100%. Either way, I’d suggest reporting it along with your thorough test case (nice work, by the way!) at the bug tracker, inform7.atlassian.net.

1 Like

There were other similar problems in the original 10.1 prior to 10.1.2. Linux filesystems are really case sensitive and apparently Windows and Mac OS are just faking it. And Graham does his development on a Mac and doesn’t experience some of the same things Linux users do.

Windows and MacOS are not case-sensitive at all. Haven’t been for decades.

I concur with Zed: I use Linux, and I never write extensions, and I have no issues with my default auth name (whose is my monogram: PGdE)

Best regards from Italy,
dott. Piergiorgio.

reported as I7-2420.

2 Likes

macOS can be case sensitive, it depends on the file systems options when the FS is made. Many things will break if the system drive is case sensitive, but it can be useful for external volumes or interoperating with other Unix systems.

“You can make it case-sensitive but it doesn’t work” is not a strong disagreement with my statement. :)

Well yeah, I think, the OS works, but lots of other things don’t (like MS Office, IIRC). :slight_smile:

It’s handy to be able to make a disk image that is case sensitive for extracting tarballs which have files that differ only by case. I can’t remember now what it was, but some fairly common package I was trying to build had that problem. Something Haskell-related, I think.

ETA: I should say “the OS worked”, I haven’t tried it since Lion or somewhere around there.