Remove all the messages that clarify the parser's choice of something (v10)

Previously, I used:

[Remove all the messages that clarify the parser's choice of something]
Include (-
Replace PrintInferredCommand;

[ PrintInferredCommand; ];
-) before "Parser.i6t".

But with Inform7 v10.1.x, this results in the following compile error:

My low-level reader of source code reported a mistake - “this Inform 6 directive is not supported in kits or ‘(-’ inclusions: ‘Replace PrintInferredCommand;’”.
Low-level material written in Inform 6 syntax occurs either in kits or in matter written inside ‘Include (- … -)’ in source text, either in the main source or in an extension used by it.

What is the v10.1.x way to do this?

Regarding the syntax, you can now directly replace specific I6 functions or globals with:

Include (-
[ PrintInferredCommand; ];
-) replacing "PrintInferredCommand".

I’ve not tested, so it’s also possible that this I6 routine has changed or no longer exist in 10.1.

(And I’m not sure if replacing the I6 function is the best/recommended way of doing what you want to do.)

(Also, just for information, Graham Nelson is currently implementing Inform 6 annotations that will add another way of replacing functions in the future.)

3 Likes

It’s still there, in CommandParserKit. One would think you could achieve this with rules “for clarifying the parser’s choice of something”, but that activity is completely bypassed if it’s clarifying anything other than a single noun. I’m not sure why, except that the activity is defined as applying to a single object.

2 Likes