That, of course, is the solution. Thank you for your work on this! I shall implement it as you suggest. I keep forgetting “Does the player mean…” constructs.
Understand "door" as the hut when the hut is in the location.
I find it useful to write:
To decide what action name is the action-to-be: (- action_to_be -).
Then:
Understand "door" as the hut when the action-to-be is not the discussing action.
This is getting your hands just a little dirty in the parser internals, but it works.
Thank you, zarf. I understand your modification. Mind you, having spent a 50 year career in operating system code, embedded machine code, C and Java, I was rather hoping I’d found a high-level language at last! I’m going to resist digging too deep into I7 internals.