Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000184Core InformKinds and type checkingpublic2010-07-07 14:302010-10-28 00:30
Assigned Tograham 
Platformx86OSWindowsOS VersionVista
Product Version6E72 
Target VersionFixed in Version6F95 
Summary0000184: Some uncaught errors involving the use of the 'action' kind of value
DescriptionPart 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.
TagsNo tags attached.
Effect(critical) Compiler reports internal error
Attached Files

- Relationships

-  Notes
EmacsUser (manager)
2010-07-07 14:58

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)
2010-07-08 09:09

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::
jmcgrew (administrator)
2010-07-08 10:47

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.
fundin (reporter)
2010-07-08 13:39

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)
2010-07-08 16:57

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.
graham (administrator)
2010-09-01 01:54

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.)

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker