[I7] Extensions That Require Plurality

It’s been awhile for me with Inform 7 and using extensions so forgive me if I’m missing the terribly obvious here.

If you try including this line in your work (after installing the extension, of course):

Include Tailored Room Description by Emily Short.

You will get an error:

“You wrote ‘have the parser notice the special-target’ : but this is a phrase which I don’t recognise,”

There was nothing to indicate to me where that phrase should come from at all. In looking up that phrase online, the only place I could find that it was defined is in the Plurality extension.

But what’s interesting is that Plurality does not appear to be included with Inform. I say interesting because in looking at the public library, there are many extensions that say “Requires Plurality by Emily Short” but what seems to be missing from the public library is Plurality itself, at least from the IDE’s perspective. If I go into the Extensions tab, Public Library sub-tab, and click the “Everything” link, Plurality does not show up on that list. (I’m using the latest Inform available from the Inform7.com website, on a Mac.)

Just to double-check, I went to what I have bookmarked as the repository site on GitHub (github.com/i7/extensions/tree/m … ly%20Short) but no Plurality there either.

Yet I do see the Plurality extension here: i7el.herokuapp.com/extensions/p … mily-short

That version of the extension is not listing the current Inform 7 version but perhaps it hasn’t required changes. So I tried it out.

I was able to download Plurality from the Heroku app and get the extension installed and included it in the source, as such:

Include Plurality by Emily Short. Include Tailored Room Description by Emily Short.
That, however, leads to a “Translating the Source - Failed” error and the console just says “Compiler finished with code 11” with no diagnostic information that I can see.

In my time away from Inform, I feel as though I’ve missed the memo to catch an important boat about extension compatibility. Is anything that I described above immediately and obviously stupid on my part?

The latest versions of Inform 7 render Plurality obsolete. Oddly enough, Tailored Room Description v12 (which is the last version that I know of) does have responses implemented, yet still fires an error:

If I were to hazard a guess, you have an earlier version of Tailored Room Description, and/or the “prior named” property used to be defined somewhere down in the dependency (either Complex Listing or Room Description Control) and has since changed.

I got Room Description Control and Tailored Room Description from the public library; meaning, I downloaded them directly from within the IDE. Currently Room Description Control is listed on my extensions page as v 13/160517 and Tailored Room Description is listed as v12. These are both done on a freshly installed Inform 7 and there are no indications of any sort of competing extensions.

When I include Tailored Room Description, the error points me to this text in the extension:

Rule for writing a paragraph about something (called special-target) (this is the standard paragraphs rule): now the special-target is mentioned; have the parser notice the special-target;
Specifically, the third statement there. That’s the one that I had to look up and see what it even meant.

That’s peculiar: the error I get is pointed to as part of the “To say holding-and-wearing” phrase, and my extensions have the exact same versions as yours. But they’re not the same: my version of Tailored Room Description does not mention “have the parser notice the special-target;” but uses the “set pronouns from the special-target;” phrase in its place.

I looked up the original code for “have the parser notice” in Plurality. It sets pronouns from the special-target unless the special-target is ambiguously plural, in which case it sets both “it” and “they” to the special-target. But in the current I7 the default behavior is for “it” and “they” to both be set for ambiguously plural things anyway. So it should be entirely safe to change that line to “set pronouns from the special-target.”

Including Plurality probably gives you a code 11 because it has I6 inclusions that aren’t compatible with the current I6 framework anymore. That really should give you some I6 syntax errors in the console, though. Dunno.

Also it seems to me as though Inform has adopted this suggestion, that ambiguously plural things should take singular pronouns.

(This is something that should get fixed in the Public Library–does anyone remember who has the capability of doing that? It probably doesn’t rise to the level of something I should be alerting Emily about.)

Is it possibly that you edited Tailored Room Description to fix that line?

There’s a version 13 of Tailored Room Description on Github. (I haven’t tried it.) github.com/i7/extensions/blob/m … iption.i7x

If I remember correctly, Dannii is in charge of maintaining Emily Short’s extensions. So if there is a new version that needs to go in the public library, I am guessing Dannii should okay it first, before someone submits it to Mark Musante. Mark Musante would be the one to put it in the Public Library.

Ah ha! Yes, I tried that version from GitHub and that does appear to work. Oddly (on my part), I had checked there for Plurality but didn’t even think to check the Tailored Room Description that was there.

I’m diagnosed with memory deficits, so while it’s certainly possible, if so I’ve forgotten it. I’ve only edited other people’s extensions once or twice though, so that should be an outlier.

Note: I just uploaded a new version of Tailored Room Description (13/180515) that fixes adaptive verbs.

As far as I can tell, adapting verbs by putting a [s] at the end, as in “rest[s]”, will do the opposite of what you expect, but I guess it must have worked in an earlier version of Inform.

[s] can’t work for both nouns and verbs without additional information. (That is, it has to know whether it’s being applied to a noun or a verb.)

Modern Inform handles this by letting you write “To rest is a verb”, and then giving you a “[rest]” substitution. I don’t remember how it used to work.

That’s pretty much how I’ve understood it, and also how it is explained in the documentation (§14.3). The current behaviour of [s] seems to be “print an s unless the last number printed was 1,” as stated in §5.4. But I’ve seen a lot of older code that uses [s] at the end of verbs.

Hi. I’m trying to make this extension work (Tailored Room Description). I copied the code from GitHub into a new Extension project in Inform7 on my Mac. It made me save the file as an .i7xp. Do you know how I’d save it (release it?) to be able to include it in a game project? Thanks.