Can it be done?
I discovered a problem with my extension, and I realized that although the bug was in the Source, the Run-time Problem that I got was not in the least bit helpful. After I tracked down the error, I wrote a little statement like this:
if S is not a thing, say "*** Multitudes run-time problem: The [printed name of the mess] multitude does not have a specimen defined.";
But of course this is not a real RTP and there’s no helpful long-winded explanation that tells you how to fix it, appearing in a separate panel of the IDE. Does I7 have hooks for that or are all the RTPs way down in I6 code?
The RTP Template begins thus:
All RTPs are produced by calling the following routine, which takes one compulsory argument: n, the RTP number. When I7 is being used with the Inform user interface, it’s important that these numbers correspond to the explanatory web pages stored within the interface application: those in turn are created by the inrtps utility. The interface knows to display these pages because it parses the printed output during play to look for the text layout produced by the following routine: so do not reformat RTPs without ensuring that corresponding changes have been made to the Inform user interface applications.
The prospects for easy I7 hooks seem bleak. As I understand it, you’d have to hack the IDE. (Or did I get it all wrong?)
Bleak may be a little bit of a strong term, but it certainly doesn’t sound worth the effort.
Okay, maybe bleak is the right word.
Perhaps we should create an official suggestion for a generic RTP number in the IDE that says “one of your extensions is unhappy”?
February 14, 2011, 11:15pm
I like that idea. Further steps: if the RT message included the extension name, the IDE could pop that open, maybe displayed a specially-tagged documentation segment.
Alternately, explode the I6 function RunTimeProblem() into a rulebook, which takes a KOV as the parameter. That’s basically all the I6 func does anyway…
I’ve had many a project throw RTPs on “perfect and tested” code. If I had added rules to such a rulebook to showme various game-specific variables besides the RTP itself, that would be very handy.
(It’s still not exactly a calltrace, but it’s getting there.)
Anyone have any votes left on the
I created it already:
inform7.uservoice.com/forums/573 … e-problems
Although I do seem to never have enough votes.
I’ve been pretty stingy with my votes. I gave it one.