Rule for printing a parser error when the problem is the noun did not make sense in that context error (this is the prevent context error rule):
if the player's command includes "say/ask/answer/discuss/tell/a/t" or the player's command includes "[any quip]" or the current interlocutor is not a person:
say "[text of parser error internal rule response (N)][line break]" (A) instead; ['Not a verb I recognize.']
otherwise:
make no decision.
or the player's command includes "[any quip]" invokes the parser to see if that’s true, and testing that results in an a noun didn’t make sense error, etc. I don’t know what’s different between 6M62 and v10 to make the behavior differ.
In WI 17.10-11 the docs warn against understand statements with a grammar token that will resolve to a noun, but no verb, because it’s so easy to end up with an infinite loop. Threaded Conversation does this repeatedly:
Understand "[something related by mentioning]" as a quip.
Understand "[a typable quip]" as discussing.
Understand "[any quip]" as non-speaking.
Here’s a previous Threaded Conversations issue in 9.3/6M62 I found intractable at the time:
Thanks for pointing that out. I was assuming the problem was in the I6 inclusion. This rule can be removed without too much ill effect – it just corrects “noun” to “verb” in certain error messages which nobody cares about anyway, and which can easily be replaced with something generic like “I couldn’t make sense of that”.
I haven’t managed to reproduce the other bug (from the thread you link to), but I’ll try some more.
Sounds like you have it managed, but I pushed a patched version to a branch on my repo fork: patched Threaded Conversations. I tried it with the examples and it doesn’t obviously blow up or intfinitely loop.