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?