Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000463Core InformPhrases and functional programmingpublic2010-12-12 01:242014-05-07 07:33
ReporterPhonatacid 
Assigned Tograham 
PrioritynormalSeverityseriousReproducibilityalways
StatusclosedResolutionfixed 
Platformx86OSMac OS XOS Version10.6
Product Version6F95 
Target VersionFixed in Version6L02 
Summary0000463: Strange bug occurs when:1) the author gives a name to a say phrase 2) this phrase is related to something else via a relation.
DescriptionGiving a name to a say phrase in order to declare a relation between this phrase and another element of the game causes a series of strange errors: the game is not able anymore to understand the "if (C - condition), say (...)" token.
Minimal Source Text To Reproduce
There is a room.

Test relates a phrase nothing -> nothing to a unicode character.
The verb to be symbolized by implies the test relation.

To [say] test
(this is executing the test):
	say "test";

Executing the test is symbolized by unicode 32000.
Additional InformationUncomment and the bug will show up:


In Part SR3 - Activities, Section SR3/2 - Final Question in the extension Standard Rules by Graham Nelson:

Problem. You wrote 'if the serial comma option is active, say ","' : but the ingredients in this phrase do not fit it, but I am confused enough by this that I can't give a very helpful problem message. Sorry about that.
I was trying to match this phrase:

if (serial comma option is active - a condition) , (say "," - a phrase)
This was what I found out:

serial comma option is active = a condition
say "," = an instruction to do something
In Section SR3/4 - Locale descriptions - Unindexed in the extension Standard Rules by Graham Nelson:
Problem. You wrote 'if the domain is the location, say "You "' : again, the ingredients in this phrase do not fit it.
I was trying to match this phrase:

if (domain is the location - a condition) , (say "You " - a phrase)
This was what I found out:

domain is the location = a condition
say "You " = an instruction to do something
Problem. You wrote 'if the domain is the location, say " here"' : again, the ingredients in this phrase do not fit it.
I was trying to match this phrase:

if (domain is the location - a condition) , (say " here" - a phrase)
This was what I found out:

domain is the location = a condition
say " here" = an instruction to do something









After further investigations, it appears that the relation is not exactly what causes the compiler to spit a Problem. The following code will trigger the same problems.


There is a room.

A wrapper is a kind of thing.
A phrase wrapper is a kind of wrapper.
A phrase wrapper has a phrase nothing -> nothing called the wrapped phrase.

To say test
(this is executing the test):
say "test";

The test wrapper is a phrase wrapper. The wrapped phrase of the test wrapper is executing the test.

 
TagsNo tags attached.
Effect(serious) Compiler rejects valid code
Attached Files

- Relationships

-  Notes
(0000898)
Phonatacid (reporter)
2010-12-12 01:31

A WORKAROUND:

The bug disappears when the attribution of the phrase (to a relation, to a property...) occurs in a rulebook.



__________________________________

There is a room.

Test relates a phrase nothing -> nothing to a unicode character.
The verb to be symbolized by implies the test relation.

To say test
(this is executing the test):
________say "test";

When play begins, now executing the test is symbolized by unicode 32000.
(0002472)
graham (administrator)
2014-02-10 14:24

Fixed, as a result of other fixes, I think.

- Issue History
Date Modified Username Field Change
2010-12-12 01:24 Phonatacid New Issue
2010-12-12 01:31 Phonatacid Note Added: 0000898
2010-12-12 08:17 jmcgrew Status new => acknowledged
2010-12-12 17:30 EmacsUser Status acknowledged => confirmed
2014-02-10 14:24 graham Note Added: 0002472
2014-02-10 14:24 graham Status confirmed => resolved
2014-02-10 14:24 graham Resolution open => fixed
2014-02-10 14:24 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