Matching only if other words there

Is there a way I can make an Understand line only apply if there’s some other word already matching the object, so that “coin in box” (or “penny in box” or “thing in box”) will be understood as the coin, but “in box” on its own will not? For properties there’s the “as referring to” construction, but that doesn’t seem to work with things like relations.

(In this case the Understand line in question is ‘Understand “in [something related by indirect visibility]” as a thing.’ Indirect visibility is a custom relation that tracks how something can be seen: through a scrying device, for example. But this causes problems when LOOK IN MIRROR is interpreted as EXAMINE (something) THROUGH MIRROR rather than SEARCH MIRROR, leading to weird disambiguation.)

The cheap way out is to remove the (recent) definition of “LOOK OBJECT” as examining. Then there is no ambiguity.

Is there a non-cheap way out? I don’t see one. The I7 grammar-token generator doesn’t let you get contextual like that.

(It’s possible in an I6 parse_name routine, but I7 generates the entire parse_name routine and it’s not very customizable.)

Yeah, the cheap method probably the best way. Can you remove a single grammar line from a command without removing all of them now? (I can’t remember if that was added or not…the other method being of course to replace that whole section of the Standard Rules.)

My current, even cheaper, solution is to use an after reading a command rule to turn "look in " into "look into ".

Nope, that has never existed in I7.

Ah, shame. Messy solution it is then.