MantisBT - Core Inform
View Issue Details
0001044Core InformActionspublic2012-11-02 03:102014-05-07 07:33
(serious/mild) Game compiles but misbehaves
0001044: Trying actions doesn't reset the meta variable
Trying actions doesn't reset the meta variable. Potentially this is by design, but I can't think of a reason why it would be. If you deliberately try a non-out-of-world action from an out-of-world action it should work.

(When I say reset I mean push/pull the meta var like the others are.)
There is a room.
Here is a man called Bob.
First carry out quitting the game:
try Bob looking.
Test me with "quit".
No tags attached.
Issue History
2012-11-02 03:10curiousdanniiNew Issue
2012-11-02 04:52curiousdanniiDescription Updatedbug_revision_view_page.php?rev_id=841#r841
2012-11-04 08:52zarfNote Added: 0001921
2012-11-04 15:59EmacsUserNote Added: 0001922
2012-11-04 15:59EmacsUserReproducibilityhave not tried => always
2012-11-04 15:59EmacsUserStatusnew => confirmed
2014-01-27 10:25grahamNote Added: 0002391
2014-01-27 10:25grahamStatusconfirmed => resolved
2014-01-27 10:25grahamResolutionopen => fixed
2014-01-27 10:25grahamAssigned To => graham
2014-05-07 07:32jmcgrewFixed in Version => 6L02
2014-05-07 07:33jmcgrewStatusresolved => closed

2012-11-04 08:52   
My sense is that this has never been supported (although there's no documentation about it).

The meta flag has some effects down in the action-tracking machinery that might make this tricky. Not sure.

Note that even if this is supported, there will be no "every turn" phase for the command (because the top-level action is meta). That might screw up somebody's invariant.
2012-11-04 15:59   
meta is saved, just in the local smeta, rather than on the stack (I think this was a fix in 6E59). But the flag isn't subsequently cleared, so it's only possible to properly try a out-of-world action from an in-world one, not vice versa. I think I'll confirm this, despite the injunction in WI 12.15, as the fix is only one otherwise innocuous line added to TryAction.
2014-01-27 10:25   
I've accepted this, though I actually chose to fix it in ActionVariablesNotTypeSafe, which sets the meta flag when needed but did not previously clear it when not. I think it's legal to try an in-world action from an out-of-world one (and indeed GONEAR does this), but really, at your own risk.