|Anonymous | Login | Signup for a new account||2018-01-20 22:17 PST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000184||Core Inform||Kinds and type checking||public||2010-07-07 14:30||2010-10-28 00:30|
|Target Version||Fixed in Version||6F95|
|Summary||0000184: Some uncaught errors involving the use of the 'action' kind of value|
|Description||Part 1 of the example source results in the following error:|
Problem. An internal error has occurred: KOVless definition. The current sentence is 'Definition'; the error was detected at line 509 of "Chapter 9/Adjectives.w". This should never happen, and I am now halting in abject failure.
Part 2 alone compiles but generates I6 errors.
|Minimal Source Text To Reproduce|
Home is a room. Part 1 Definition: an action is gluttonous if it is eating. Part 2 To disregard (act - an action): do nothing. When play begins: disregard waiting.
|Tags||No tags attached.|
|Effect||(critical) Compiler reports internal error|
Confirmed. Only the following is necessary for reproducing the error:
Home is a room.
Definition: an action is gluttonous if it is eating.
Ron Newcomb (reporter)
|Shouldn't that be "action name" not "action"? I don't see how one would apply an adjective to "Bob trying giving the scroll to yourself", which would be an action. But to "disregard the giving it to action" would make sense. ::shrug::|
|Well, it could also be a stored action. This isn't valid code, but it's still a bug for it to cause an internal error.|
|Yes, the code is completely invalid. 'Action' as a kind of value isn't used for very much except being what action based rules apply to, I think. Trying to use it for other purposes usually results in a problem report, but not in these two cases. Nothing very serious, except that someone could be accidentally writing 'action' rather than 'action name' or 'stored action'.|
Ron Newcomb (reporter)
|OK. FWIW there are valid uses for using "action" as a To Phrase parameter: when the phrase is an I6 inclusion. I use that, and it is both handy and elegant.|
This was really two different bugs, with different symptoms, so we probably ought to have split it into two different cases on the tracker; it certainly had two different fixes -
(a) There's a more helpful problem message for the attempt at the Definition (specifically advising that stored action be tried instead);
(b) Ron is quite right that it's legal to have action tokens in phrase definitions, but Krister is right that it shouldn't be allowed in standard definitions - only when the phrase has an inline I6 definition. This was not previously checked; now it is, and the definition attempt produces a helpful problem message. (Oddly enough, there _would_ have been a problem message if the definition had tried to use the action; it was only because it ignored it that no problem was issued.)
|2010-07-07 14:30||fundin||New Issue|
|2010-07-07 14:58||EmacsUser||Note Added: 0000261|
|2010-07-07 14:58||EmacsUser||Status||new => confirmed|
|2010-07-08 09:09||Ron Newcomb||Note Added: 0000262|
|2010-07-08 10:47||jmcgrew||Note Added: 0000263|
|2010-07-08 13:39||fundin||Note Added: 0000264|
|2010-07-08 16:57||Ron Newcomb||Note Added: 0000272|
|2010-09-01 01:54||graham||Note Added: 0000474|
|2010-09-01 01:54||graham||Status||confirmed => resolved|
|2010-09-01 01:54||graham||Resolution||open => fixed|
|2010-09-01 01:54||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|