Anonymous | Login | Signup for a new account | 2018-04-22 11:10 PDT | ![]() |
Main | My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||
ID | Project | Category | View Status | Date Submitted | Last Update | |
0000138 | Core Inform | Assertions and creations | public | 2010-06-28 08:36 | 2010-10-28 00:30 | |
Reporter | Juhana | |||||
Assigned To | graham | |||||
Priority | normal | Severity | mild | Reproducibility | always | |
Status | closed | Resolution | fixed | |||
Platform | x86 | OS | Mac OS X | OS Version | 10.6 | |
Product Version | 6E59 | |||||
Target Version | Fixed in Version | 6F95 | ||||
Summary | 0000138: Object names starting with a reserved name are allowed but can't be used in phrases | |||||
Description | The compiler allows to create objects that start with reserved words like "every", "each", "no" etc but they can't be used in phrases. Doing so will result in an error message that basically says that the compiler is confused but it doesn't know why. If you don't use the objects directly in phrases, there are no errors and the game compiles normally with the object keeping its name. The creation of such objects should be disallowed to avoid confusion. | |||||
Minimal Source Text To Reproduce | The kitchen is a room. The player carries no tea. Every turn: if the player carries no tea, say "You still don't have any tea." [remove the every turn rule and the game compiles.] | |||||
Additional Information | This is the error message produced: Problem. You wrote 'if the player carries no tea, say "You still don't have any tea."' : but this sentence seems to contain a value which makes no sense, and I'm unfortunately not able to say why not. I can only suggest staring at it for a while. I was trying to match this phrase: if (player carries no tea - a condition) , (say "You still don't have any tea." - a phrase) This was what I found out: player carries no tea = a condition say "You still don't have any tea." = an instruction to do something | |||||
Tags | No tags attached. | |||||
Effect | (mild) Compiler accepts invalid code | |||||
Attached Files | ||||||
![]() |
|
(0000167) EmacsUser (manager) 2010-06-28 13:16 |
Confirmed, though the statement ``they can't be used in phrases'' is a bit imprecise. Changing the every turn rule to: Every turn: if the player carries tea, say "You still don't have any tea." works because Inform thinks ``tea'' is a short name for ``no tea.'' |
(0000594) graham (administrator) 2010-09-26 10:47 |
I have compromised by improving the problem message so that there's rather more of a clue what the trouble is. I don't really want to go down the road of prohibiting many forms of wording in names because there are potentially quite a few ambiguities - this is what "called" is for; to be used when there seems to be an unfortunate clash. |
![]() |
|||
Date Modified | Username | Field | Change |
2010-06-28 08:36 | Juhana | New Issue | |
2010-06-28 09:39 | jmcgrew | Status | new => acknowledged |
2010-06-28 13:16 | EmacsUser | Note Added: 0000167 | |
2010-06-28 13:16 | EmacsUser | Status | acknowledged => confirmed |
2010-09-26 10:47 | graham | Note Added: 0000594 | |
2010-09-26 10:47 | graham | Status | confirmed => resolved |
2010-09-26 10:47 | graham | Resolution | open => fixed |
2010-09-26 10:47 | graham | Assigned To | => graham |
2010-10-25 21:14 | jmcgrew | Fixed in Version | => 6F95 |
2010-10-28 00:30 | jmcgrew | Status | resolved => closed |
Copyright © 2000 - 2010 MantisBT Group |