Roll-your-own Run-time Problem

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:

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”?

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 suggestion forum?

I have one.

I created it already: inform7.uservoice.com/forums/573 … e-problems

Although I do seem to never have enough votes. :slight_smile:

I’ve been pretty stingy with my votes. I gave it one.