I tried to give this post an eye-catching title like "The Power of Indentation!" But my fingers wouldn't have it. Blame the fingers.
I don't know much about the text-editing tools used at Infocom. The Witness source directory includes a tantalizing mention of TECO, an editor used at MIT in the 1960s and 70s. Going back a couple of years, there's a map file in the 1978 MDL Zork repository which seems to about managing TECO keybindings.
TECO's editing macros later evolved into their own editor, naturally called "Emacs". Wikipedia notes:
By 1979, Emacs was the main editor used in MIT's AI lab and its Laboratory for Computer Science.
It seems certain that Infocom folks used Emacs at some point, but I don't have any evidence about when.
Whatever editor they used, we can ask: Did it auto-indent their ZIL code? The ZIL code we have is very consistently indented, so it seems like a good bet, but I don't know for sure. The only reference in the 1989 ZIL manual is:
Also note the spaces at the beginning of the TELLs in the DESCFCN. If your describers are of the indentation flavor, your DESCFCN must supply its own indentation.
"Describers" are explained as:
[...] a small package of programs which handle the descriptions for the player's environment: current room and visible objects.
...Which is interesting, not least for saying "programs" for what we (and ZIL itself!) call "routines". I think that "indentation flavor" is not about source code indentation, but rather the indented style of object listing:
Sitting on the kitchen table is:
A brown sack
The brown sack contains:
A glass bottle
The glass bottle contains:
A quantity of water
A clove of garlic
Some Infocom games used a more sentence-like listing format, particular if they were less container-heavy.
But I digress. Let's go back to the source code.




![A screenshot titled "The Visible Zorker: Deadline". The left side of the window shows the opening of Deadline, up to the command EXAMINE DOOR. The right side shows a list of ZIL function calls and the message "The [D PRSO] is open, but you can't tell what's beyond it."](/pic/2026/06/visideadline-app.png)