MantisBT - Core Inform
View Issue Details
0000550Core InformRules and rulebookspublic2011-02-10 11:002014-05-07 07:33
otistdog 
graham 
normalseriousalways
closedfixed 
x86WindowsXP
6G60 
6L02 
(serious) Compiler rejects valid code
0000550: Using "world" in an object name conflicts with Standard Rules
I came across this error while trying to update something written in a previous release of Inform 7. I systematically removed every statement possible while still preserving the error message received (see add'l info section). It came down to just three statements, aside from the one needed to create a starting room.

Not sure what exactly is causing the issue, but I think it may be partly due to some sort of confusion with the "citizens of the world" object attempted in the source code and the "action in world" truth state mentioned in the problem message. This may not be the whole story, because removing the third statement (regarding the giving action) will allow the source to compile.
"Greetings, Earthlings!" by "Otis T. Dog"

An audience is a kind of backdrop.

The citizens of the world are an audience that is everywhere.

The giving action has an object called recipient.

Landing Site is a room.
Following is the full problem message produced when attempting to compile...

=========================================

Translating the Source

This is the report produced by Inform 7 (build 6G60) on its most recent run through:

In Part SR2 - Variables and Rulebooks, Section SR2/7 - The Standard Rulebooks in the extension Standard Rules by Graham Nelson:

Problem. You wrote 'The specific action-processing rulebook has a truth state called action in world' , but 'action in world' already has a meaning, which this would clash with.
 
No tags attached.
has duplicate 0000962closed  An extensions combination which works fine in a short game prevents a longer game from compiling with nonsensical error reports. 
Issue History
2011-02-10 11:00otistdogNew Issue
2011-02-12 17:10Jim AikinNote Added: 0001013
2011-02-12 18:54jmcgrewStatusnew => acknowledged
2011-02-12 18:54jmcgrewSummaryCompiler reports incompatibility with standard rules => Using "world" in an object name conflicts with Standard Rules
2011-02-12 18:54jmcgrewAdditional Information Updatedbug_revision_view_page.php?rev_id=401#r401
2011-02-13 21:20EmacsUserIssue cloned0000560
2011-02-13 21:26EmacsUserNote Added: 0001022
2011-02-13 21:26EmacsUserStatusacknowledged => confirmed
2012-08-05 09:14EmacsUserNote Added: 0001757
2012-08-05 09:16EmacsUserRelationship addedhas duplicate 0000962
2012-08-05 09:25EmacsUserIssue cloned0000965
2014-03-15 04:56grahamNote Added: 0002561
2014-03-15 04:56grahamStatusconfirmed => resolved
2014-03-15 04:56grahamResolutionopen => fixed
2014-03-15 04:56grahamAssigned To => graham
2014-05-07 07:32jmcgrewFixed in Version => 6L02
2014-05-07 07:33jmcgrewStatusresolved => closed

Notes
(0001013)
Jim Aikin   
2011-02-12 17:10   
I can reproduce this by using the word "world" in other contexts, provided the sentence about the giving action is included. It does not occur, however, if I change that to a sentence about the taking action or the going action.
(0001022)
EmacsUser   
2011-02-13 21:26   
Confirmed. Following on Jim's comment, it seems that the action must be one taking both a noun and a second noun (or topic).
(0001757)
EmacsUser   
2012-08-05 09:14   
Another instance in the same vein:

- - - -
There is a room.
A thing called the world globe is here.

Table of Graphlink Glulx Replacement Commands
action
stored action
with 120 blank rows
- - - -
(0002561)
graham   
2014-03-15 04:56   
Fixed.