AI Zone Admin Forum Add your forum
Rejoinder not getting set after ^gambit()

This question is motivated by wanting to manually jump to a particular topic via the command line, e.g., when wanting to debug that topic.

Say we have:

topic: ~A []
t: This is topic A
  a: () This is the rejoinder

If at the command line I enter

eddie: > :do ^gambit(~A)

it will output “This is topic A” but the rejoinder is not being set for this gambit. So after the next input it does not say “This is the rejoinder.” but rather continues through the control code.

When the ^gamibt(~A) is called within a rule or macro and not via a :do command, the rejoinder is set as it should be.

Note: I can see “**set rejoinder at a:  ( ) This is the rejoinder” in the trace when using the :do command, but then when I do :variables I see
%inputrejoinder = null (or the previous rejoinder set before the :do command)
%outputrejoinder = null

Or perhaps their is a better way to manually jump to a particular topic during the debug process?




  [ # 1 ]

Writing the above got me thinking about a workaround/alternative. I’m using this rule toward the top of the ~control topic to accomplish what I was attempting to do above:

u: (< jumpto _*) ^gambit(‘_0)

and then:

eddie: > jumpto ~topicname


  [ # 2 ]

Right. the problem is that for most uses of debug commands, one wants to preserve the old rejoinder status so that the debug command does not interfere with normal operation (like :trace).  So yes, you lose your set location.  And you have a workaround


  login or register to react