Inserting debugging commands for I7 compiler

Is there a way to insert low-level debugging commands in an Inform7 source that simply cause the I7 compiler to output a string when it encouncters the command?

I ask because I have been, off and on, fiddling with a game to learn the language. And somewhere in the last one or two updates to Inform7 the game fragment I have, which used to build far enough to test, has instead started generating segmentation faults and stopping dead. In my experience this is unusual for Inform. I would file a bug report, but it’s pretty much useless without at least some guess as to where things go wrong. Right now, all I get is something like:

Mmmrph. I’d like to scatter some waypoints through the source file to narrow down the offending lines.

This happens on Intel hardware running 64-bit Fedora Linux, but I have reason to believe that the particular Linux variant doesn’t matter.


This definitely indicates a compiler bug. But the I7 compiler doesn’t move linearly through the source, so the problem likely isn’t 47% of the way through your source code. Try commenting out half your source, then the other half, and narrowing it down with a binary search?

You could look through the bug tracker ( is one that people run into fairly often.

You’re right, I should pillage the bug tracker for crash conditions, thought I’d like to point out that this game fragment used to compile without flaws until it didn’t.

Along those lines, I have a minor whine. By chance I found out that while I was in the Inform programming environment (gnome-inform7), failed attempts to compile the game left a set of files in the Build sub-directory, viz.:“Debug log.txt”, “auto.inf”, and “Problems.html”. But those files disappear as soon as I close down gnome-inform. I don’t know if the equivalent tools on other platforms behave the same way, but I wouldn’t be surprised.

From the crash forensics point of view, I don’t think this is desirable, because there are maybe hints in the rubble. “auto.inf”, for example, seems to terminate at the enigmatic:

! ----------------------------------------------------------------------------------------------------
! Rules in rulebook: before Printing the name (B29_before_printing_the_name)
! ----------------------------------------------------------------------------------------------------
! Rule 1/1 ! Before printing the name of a thing ( called the item being printed ) ( this is the make named things mentioned rule ):
! ----------------------------------------------------------------------------------------------------
! From the Standard Rules
! No specific request
! Before printing the name of a thing ( called the item being printed ) ( this is the make named things mentioned rule ):
[ R_66 
    tmp_0 ! Let/loop value, e.g., 'item being printed': thing

On the Mac there’s an option (under Preferences -> Advanced) for “clean build files from projects before closing,” which is checked by default. If you uncheck it, the files don’t disappear when you close the IDE. Do you know if there is a similar option for gnome-inform?

(There is, at least in the version I use.)

Ah. You are so right. I need to unclick that. Silly me.

I have boundless faith in Chimento’s implementation, I have to say, from very long experience.