Handling Kind of Things

After far too much time, I found where one can deactivate it.

https://ganelson.github.io/inform/runtime-module/7-np.html#SP4

       if (from_kind)
                LOOP_THROUGH_WORDING(j, PW) {
                        int additional = TRUE;
                        LOOP_THROUGH_WORDING(k, W)
                                if (compare_word(j, Lexer::word(k)))
                                        additional = FALSE;
                      if (additional) {
                                TEMPORARY_TEXT(content)
                                WRITE_TO(content, "%w", Lexer::word_text(j));
                                EmitArrays::plural_dword_entry(content); entry_count++;
                                DISCARD_TEXT(content)
                        }
                }

I just commented out the inner if-statement, but it looks a lot like commenting out the whole thing would be fine. (This is a blunt tool and far from having a switch within I7, of course)

3 Likes

Aha! There it is!

To add a new use option to control it, it looks like the main thing is in Compilation Settings—which is where I’m learning for the first time that “use the serial comma” is built into the compiler rather than just part of Basic Inform or the Standard Rules, which seems absolutely bizarre to me from an architectural perspective.

We’d want to add a new entry to the compilation_settings struct, and then we can read the value from global_compilation_settings in that if-statement you found.

This seems like a relatively straightforward change to make, all things considered. Think it’s worth trying to make a PR? I don’t know if Graham accepts those at this point.

(I did build Inform from source, so I could try making the change in my version at least, but the convenience of it working in my local copy is not worth making my source code incompatible with everyone else’s Inform builds imo.)

2 Likes

I implemented the Use flag; a PR is worth a shot. But what to call it that starts with “Use” and is reasonably clear and descriptive?

  • Use no kind names as default plural dictionary entries
  • Use no plural dictionary words by default
  • Use manual understanding of plurals
  • ?
1 Like

I’d go with either your third option (“Use manual…”), or perhaps “Use no automatic understanding of plurals”?

My vote is for “use no automatic plural synonyms” or “use no automatic plural understanding”.

1 Like

Use no automatic understanding of plurals for objects

1 Like

PR 90: No automatic plural synonyms

4 Likes