Allow creation of customized runtime problems
From this thread: http://www.intfiction.org/forum/viewtopic.php?f=7&t=2024
The IDE usually highlights when a RTP occurs by changing the left pane to a helpful message. The closest that game and extension authors can get is a say statement with asterisks in it. Can the I6 RunTimeProblem() function be extensible somehow? A rulebook taking a KOV perhaps?
Ron Newcomb commented
Oh, there's the "specification of" pseudo-property described in 25.9. Docs say it can be used for Kinds, Actions, and kinds of value. The command parser errors are a kind of value, and by inspecting RunTimeProblem() the run time problem errors could also be a kind of value, using the specification... oh, wait, the spec is for the whole KOV, not each individual value.
Ron Newcomb commented
See, I never read the left pane RTP messages cause it's always boilerplate. Granted, I sometimes find it useful for the left pane to change because it tells me I need to comb through the transcript looking for nasty asterisks, but any real information like responsible table columns or whatnot are incriminated in the transcript, not in the left pane. So I'd be happy with a generic catch-all left-pane message, personally.
One thing about the left-pane messages that gets on my nerves is how it changes the left pane on every RTP in a run. Once I see one I know to go hunting down the code I just wrote and that further RTPs are just cascading errors, but I must wait until the transcript finishes before I can start editing again. (If I click STOP, then I can't use RERUN later -- it'll only rerun until the spot where I clicked STOP. It becomes a question of which spot I want to waste some time on.)
Granted, I'm not a typical Inform user, who likely find the left-pane messages more helpful....
As for getting large custom messages from extension source to IDE, well, I dunno. Maybe a special hidden syntax in the extension's documentation?? Something inside a code comment??
Andrew Plotkin commented
In what way would you customize the RunTimeProblem() function?
The value I see here is for the *IDE* to be extensible. An extension should be able to call a phrase which prints an extension-specific RTP. The IDE can then open its help pane -- ideally with links to the extension documentation.