Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001096Core InformActionspublic2013-04-04 09:452014-05-07 07:33
ReporterEmacsUser 
Assigned Tograham 
PrioritynormalSeveritymildReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0001096: Actor, noun, second noun, etc. change meaning when used in a stored action comparison
DescriptionThe attached source generates I6 that calls STORED_ACTION_TY_Adopt and STORED_ACTION_TY_Unadopt, which clobber and unclobber globals like actor, noun, and second. But the other side of the comparison is also evaluated between the calls, so one of the I6 tests reads ``second == actor'', asking whether the stored action's actor and second noun are equal, not whether the stored action's second noun is equal to the current actor.
Minimal Source Text To Reproduce
There is a room.
Sal is a woman.  Sal carries a frisbee.
Foo is a stored action that varies.
When play begins:
	now foo is the action of Sal throwing the frisbee at the player.
Instead of looking:
	showme foo;
	showme the actor;
	showme whether or not foo is throwing something at the actor.
TagsNo tags attached.
Effect(serious/mild) Game compiles but misbehaves
Attached Files

- Relationships

-  Notes
(0002005)
zarf (developer)
2013-04-04 11:55

Behavior is confirmed, but Graham will have to decide whether it's a bug. The semantics of variables in conditions in I7 frequently confuse me...

In this case, it may be the intended behavior for "actor", "noun", "second noun" to effectively be symbols in the context of a condition, rather than naive global variables.
(0002016)
EmacsUser (manager)
2013-04-08 09:01

If it is intended, then let this be a request that the behavior be documented in WI 12.20.
(0002395)
graham (administrator)
2014-01-27 11:43

I've clarified this in the documentation.

The semantics of I7 here amount to whatever will enable the functionality of the whole thing to continue hanging by a thread. But I think it's reasonable, just about.

- Issue History
Date Modified Username Field Change
2013-04-04 09:45 EmacsUser New Issue
2013-04-04 11:55 zarf Note Added: 0002005
2013-04-04 11:55 zarf Status new => confirmed
2013-04-08 09:01 EmacsUser Note Added: 0002016
2014-01-27 11:43 graham Note Added: 0002395
2014-01-27 11:43 graham Status confirmed => resolved
2014-01-27 11:43 graham Resolution open => fixed
2014-01-27 11:43 graham Assigned To => graham
2014-05-07 07:32 jmcgrew Fixed in Version => 6L02
2014-05-07 07:33 jmcgrew Status resolved => closed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker