Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000939Core InformAssertions and creationspublic2012-07-01 06:312014-05-07 07:34
ReporterFuchsia tude 
Assigned Tograham 
Platformx64OSWindowsOS Version7 SP1
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0000939: Defining an object via a table that includes a "location" column creates a duplicate property, breaking the world model
DescriptionThe description and printed name are set properly, for example; but instead of setting the ordinary location property, NI decides to create a new "location" property for shirts only.

Inform then apparently assumes all other references to location in the standard rules -- as in the going action -- apply to this phantom property only.
Minimal Source Text To Reproduce
Foo is west of Bar.

A shirt is a kind of thing. Some shirts are defined by the Table of Shirtness.

Table of Shirtness
shirt	description	location
a blue shirt	"This shirt is blue."	Foo
a grey shirt	"This shirt is grey."	Bar
Additional InformationWelcome
An Interactive Fiction
Release 1 / Serial number 120701 / Inform 7 build 6G60 (I6/v6.32 lib 6/12N) SD



*** Run-time problem P10: Since yourself is not allowed the property "location", it is against the rules to try to use it.

You'll have to get out of Foo first.


*** Run-time problem P10: Since yourself is not allowed the property "location", it is against the rules to try to use it.

You'll have to get out of Foo first.


*** Run-time problem P10: Since yourself is not allowed the property "location", it is against the rules to try to use it.

[** Programming error: tried to "move" yourself to nothing **]
You get out of Foo.


>showme blue
blue shirt - shirt
location: out of play
singular-named, improper-named; unlit, inedible, portable
printed name: "blue shirt"
printed plural name: "shirts"
indefinite article: none
description: "This shirt is blue."
initial appearance: none
location: Foo

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

- Relationships
related to 0001228closedgraham Inform looks for nonexistant properties before phrases 

-  Notes
zarf (developer)
2012-07-01 08:04
edited on: 2012-07-01 08:12

What you're running into here is that there *is* no ordinary location property. "The location of X" is a phrase, so (e.g.) "now the location of the blue shirt is Foo" would not compile.

However, this is clearly something that authors want to do. So it might be worth special-casing "location" as a column name, for tables that define objects.

(Of course that's running slightly roughshirted over the variety of ways an object can exist in the world tree. One could special-case "location"to mean "When play begins, now S is in the location of S" -- but then the table could not define a *worn* shirt!)

Fuchsia tude (reporter)
2012-07-01 08:11
edited on: 2012-07-01 08:12

Ah. So then I guess the bug is caused by a property/phrase namespace clash, between "the location of X" and "the [property] of X" phrases?

zarf (developer)
2012-07-01 08:13

EmacsUser (manager)
2012-07-01 11:58

Confirmed, though this may well be accepts-invalid.
graham (administrator)
2014-01-18 08:20

I think the cleanest fix here is to reserve the name "location" so that it can't be a property name created by a table column, as this allows an explanatory problem message to be given.

- Issue History
Date Modified Username Field Change
2012-07-01 06:31 Fuchsia tude New Issue
2012-07-01 08:04 zarf Note Added: 0001704
2012-07-01 08:11 Fuchsia tude Note Added: 0001705
2012-07-01 08:12 Fuchsia tude Note Edited: 0001705 View Revisions
2012-07-01 08:12 zarf Note Edited: 0001704 View Revisions
2012-07-01 08:13 zarf Note Added: 0001706
2012-07-01 11:55 EmacsUser Relationship added child of 0000905
2012-07-01 11:58 EmacsUser Note Added: 0001707
2012-07-01 11:58 EmacsUser Status new => confirmed
2012-07-01 11:58 EmacsUser Category Tables => Assertions and creations
2014-01-18 08:20 graham Note Added: 0002303
2014-01-18 08:20 graham Status confirmed => resolved
2014-01-18 08:20 graham Resolution open => fixed
2014-01-18 08:20 graham Assigned To => graham
2014-01-26 08:54 graham Relationship deleted child of 0000905
2014-05-06 13:06 EmacsUser Relationship added related to 0001228
2014-05-07 07:34 jmcgrew Fixed in Version => 6L02
2014-05-07 07:34 jmcgrew Status resolved => closed

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker