|Anonymous | Login | Signup for a new account||2018-10-20 01:28 PDT|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000521||Core Inform||Assertions and creations||public||2011-01-27 19:40||2014-05-07 07:35|
|Target Version||Fixed in Version||6L02|
|Summary||0000521: Writing two "[direction] is nowhere" statements in a row results in error message.|
|Description||Uncommenting the last statement results in the problem message "You wrote 'The south is a direction', but in another sentence 'West is nowhere': south would need to have two different and incompatible kinds to make both sentences true, and this is a contradiction." Judging by the way it conflates the two different directions, the compiler seems to be getting very confused by the presence of two "[direction] is nowhere" statements, even though they should both be identified as specifically modifying the exits from Desert rather than general statements about the behavior and assembly of the model world.|
|Minimal Source Text To Reproduce|
Forest is a room. Desert is north, northeast, east from Mountain. South is nowhere. [West is nowhere.]
|Additional Information||Incidentally, if the code is run with the last statement commented out, Desert is connected to Forest through 2 directions rather than to Mountain by 3. This seems to be incorrect behavior.|
|Tags||No tags attached.|
|Effect||(serious) Compiler rejects valid code|
Confirmed. But note that Inform is behaving sensibly in its handling of
- - - -
Desert is north, northeast, east from Mountain.
- - - -
if we read ``from mountain'' as applying just to ``east,'' rather than every direction in the list. (Hence the error message if you try to compile this sentence on its own.)
I realized why this happens. Take the following minimal source:
There is a room.
Another room is northwest. Southeast is nowhere. It is dark.
This refuses to compile, because "You wrote 'It is dark' : but the property dark for the southeast is not allowed to exist, ..." It seems that after "Southeast is nowhere," the direction southeast becomes the subject of subsequent statements, rather than the subject remaining Another room. This is a bug, surely? I can't imagine any situation where the author would intend to start altering the properties of directions in the middle of defining map connections.
Moreover, it WILL compile if a valid room name appears instead of "nowhere".
|The multiple-uses-of-nowhere bug is gone; the rest, I'm not convinced is a bug.|
|2011-01-27 19:40||ChrisC||New Issue|
|2011-01-28 19:01||jmcgrew||Status||new => acknowledged|
|2011-02-01 15:53||EmacsUser||Note Added: 0000983|
|2011-02-01 15:53||EmacsUser||Status||acknowledged => confirmed|
|2011-02-27 22:31||ChrisC||Note Added: 0001062|
|2014-01-19 07:07||graham||Note Added: 0002326|
|2014-01-19 07:07||graham||Status||confirmed => resolved|
|2014-01-19 07:07||graham||Resolution||open => fixed|
|2014-01-19 07:07||graham||Assigned To||=> graham|
|2014-05-07 07:34||jmcgrew||Fixed in Version||=> 6L02|
|2014-05-07 07:35||jmcgrew||Status||resolved => closed|
|Copyright © 2000 - 2010 MantisBT Group|