Well, everyone known that, being an historian by trade & training, I attempt to track “The life and times of Inform and its library” (cit.), but in this case (and others noted) I think that we must use Jedi powers (“use the Source, Luke” ) and indeed, luckly, we have 6.20 (but not 6.20a) 6.21 and 6.3x sources around.
The technical manual just seems to be wrong on this: looking at the source code for Inform 6.21 shows that only ‘g1’ and ‘g2’ are valid options, there is no ‘g3’. It is hard to know what happened here, possibly this was a planned feature that was never released.
Good suggestion. I looked over the 6.21 source, and there’s a little more to the story here.
In the 6.21 source, the inform.c section controlling switch interpretation uses the value to set an internal variable called trace_fns_setting. The accepted switch settings are only 0, 1, or 2, and trace_fns_setting is set to whatever numeric value is provided. (In the case of 0, no action is taken, so it is left in its uninitialized state.)
There are also places in syntax.c and veneer.c where the condition trace_fns_setting==3 is checked, which look like they should have an effect. So I think it was an implemented feature for which the appropriate switch handling was overlooked.
@DavidK, any chance that this could be addressed in 6.35?
Only when I have to! For example, I could have used it yesterday when trying to figure out what’s going on with that order sensitivity problem. I needed a very indirect method to work out the transitions to veneer routines.
Too bad. For anyone working in Z-machine instead of Glulx, I made a modification to 6.34 to enable this switch, and it seems to do exactly as promised in the description in ITM 13.4. See attached patch for inform.c.