It’s hard to explain what’s going on with Bocfel and abbreviation ‘x//’:
If the grammar is verb ‘x//’ * → Examine or verb ‘x//’ ‘exam’ * → Examine, and I input >x:
DicWord(1), return 0 (what is wrong!)
But if the grammar is verb ‘x//’ ‘examine’ * → Examine, and I input >x:
DicWord(1), return a value greater than 0.
Under Frotz (David Griffith) or WindowsFrotz, all works fine, the value is always greater than 0.
You can try with library. Just remove or rename, in grammar.h, ‘examine’ to ‘exam’:[code]!% +Language_name=english
Include “parser”;
Include “verblib”;
Object here “Here or anywhere”
with description “You are somewhere.”,
has light;
object ball “ball” here
with name ‘ball’,
description “A red ball.”;
[ Initialise; location = here; ];
Include “grammar”;[/code]
Oh, thanks… I didn’t know that!
It’s an option, maybe it would be better to reverse it: turned on abbreviations with -x for old game and nothing for recent game.
Can the interpreter change the way Inform works?
For me, it’s like a bug: Interpreter must not return 0 if ‘x//’ is in the grammar and in the dictionary.
Obviously you mean it should try to detect old games. The list of Z-code games which don’t support “X” for “EXAMINE” – but should – is just the Infocom canon, right?
You’re right. In fact Bocfel already has a big list of Infocom V1-4 games, would that be all of them, or would it need the version 5 games to be added as well? github.com/garglk/garglk/blob/m … erp.c#L203