Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001155Core InformPropertiespublic2013-12-07 10:462014-05-07 07:33
Reportermattweiner 
Assigned Tograham 
PrioritynormalSeveritymildReproducibilityalways
StatusclosedResolutionfixed 
Platformx86OSMac OS XOS Version10.7
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0001155: using any indefinite article in a rule for printing the name for a thing overrides the thing's own indefinite article
DescriptionIf a rule for printing the name of something, say a container, invokes the indefinite article of something else, say the contained thing, then the indefinite article of the contained thing will override the indefinite article of the container.
Minimal Source Text To Reproduce
Lab is a room. An urn is a container in the lab. The player carries a ball.

Rule for printing the name of the urn when looking:
	omit contents in listing;
	say "urn";
	if the ball is in the urn:
		say " with [a ball] in it".

Test me with "look/put ball in urn/look".
Additional InformationThe first look yields "You can see an urn here." The second look yields "You can see a urn with a ball in it here."

Other variations:

Lab is a room. An urn is a container in the lab. The player carries an orb.

Rule for printing the name of the urn when looking:
omit contents in listing;
say "urn";
if the orb is in the urn:
say " with [a orb] in it".

will yield "an urn" both times.

Lab is a room. A flask is a container in the lab. The player carries an orb.

Rule for printing the name of the flask when looking:
omit contents in listing;
say "flask";
if the orb is in the flask:
say " with [a orb] in it".

Will yield first "a flask" and then "an flask with an orb in it."

So it does seem as though it is the article of the thing that is invoked in the Rule for printing a name of the urn/flask that is controlling the article of the urn/flask.

TagsNo tags attached.
Effect(serious/mild) Game compiles but misbehaves
Attached Files

- Relationships
related to 0001893confirmed printing name of container selects article based on article of last child (Z-code only) 

-  Notes
(0002171)
mattweiner (reporter)
2013-12-07 10:53

Forum thread: http://www.intfiction.org/forum/viewtopic.php?f=7&t=10058 [^]
(0002172)
EmacsUser (manager)
2013-12-07 14:25

Looks like a reentrancy problem. LanguageContraction decides which article to use in this case by inspecting the beginning of StorageForShortName, which isn't saved or restored. Things go okay up to ``urn with '', but then the printing of the ball has to decide which article it wants to use, clobbering the beginning of the buffer with ``ball''.

It might be good enough to suppress article printing when writing to StorageForShortName in PrefaceByArticle.
(0002555)
graham (administrator)
2014-03-13 12:20

This seems to have been fixed as part of the general overhaul of response text.

- Issue History
Date Modified Username Field Change
2013-12-07 10:46 mattweiner New Issue
2013-12-07 10:53 mattweiner Note Added: 0002171
2013-12-07 14:25 EmacsUser Note Added: 0002172
2013-12-07 14:25 EmacsUser Status new => confirmed
2014-03-13 12:20 graham Note Added: 0002555
2014-03-13 12:20 graham Status confirmed => resolved
2014-03-13 12:20 graham Resolution open => fixed
2014-03-13 12:20 graham Assigned To => graham
2014-05-07 07:32 jmcgrew Fixed in Version => 6L02
2014-05-07 07:33 jmcgrew Status resolved => closed
2016-04-11 19:26 zarf Relationship added related to 0001893


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker