Disambiguating words that are nouns and verbs

Let’s say I have a plow.

The plow is in The Farmer's Field.

Let’s say I want to be able to plow.

[code]Plowing is an action applying to one thing. Understand “plow [something]” as plowing.

Carry out plowing:
if the noun is the farmer’s field:
say "You plow [the noun].

[/code]

This can cause a problem:

>take

What do you want to take?

>plow

What do you want to plow?

Is there an elegant way around this?

This is how I did it, courtesy Felix Larsson:

[code]Include (- Replace LanguageVerbMayBeName; -) before “Language.i6t”

Include (-
[ LanguageVerbMayBeName w;
if (w == ’long’ or ’short’ or ’normal’ or ‘slice’ or ‘plug’
or ’brief’ or ’full’ or ’verbose’)
rtrue;
rfalse;
];
-) after “Commands” in “Language.i6t”.[/code]

…except you’d want to change ‘slice’ and ‘plug’ to ‘plow’, of course. This is from 6G60 but looking at the relevant part of the 6M62 template files I think it should work the same.

(EDIT: Formatted the code better.)

Thanks! Do you keep the ‘long’ or ‘short’ or ‘normal’ part?

On preview: Yeah, those are the things that are built in. “Long”/“short”/“normal” are aliases for “verbose”/“superbrief”/“brief” I guess (I hadn’t known that until just now, when I tried them to see what they do), and they’re common enough as adjectives that Graham decided to make them automatically understood as names. Because “Which do you mean, the long straw or the short straw?”/SHORT/“My Apartment Game is now in superbrief mode” would not be good at all.

This is the original LanguageVerbMayBeName:

[ LanguageVerbMayBeName w; if (w == 'long' or 'short' or 'normal' or 'brief' or 'full' or 'verbose') rtrue; rfalse; ];

Original message:

Hmmm, on further examination this may only work for disambiguation from a list of choices. So you get this:

but this:

I do happen to have an extension lying around that seems to solve this case, but it involves some incautious messing around with the parser and I wouldn’t guarantee that it wouldn’t blow up in your face. (What it does is modify the parser loop so at a disambiguation point it first tries to process any response whatsoever as a disambiguation response, and if that fails sends it back for processing as a new command.) In particular, I think it fails to play nicely with After reading a command rules.

Am I going to be able to resist attaching it anyway? No. Even though, as usual, it takes me fifteen minutes to figure out the filepath so I actually can attach it.
Responsive Disambiguation for 6M62.i7x (27 KB)

Great! Thanks so much!

Well, don’t thank me until you’re sure that I haven’t introduced impossible-to-catch bugs into your code… But you’re welcome.