$ dgdebug src/meta.dg src/magnum-opus.dg src/stdlib.dg --unit-test --tag-lines
The Featureless Space
An interactive fiction by The Intrepid Author.
Release 0. Serial number DEBUG.
Dialog Interactive Debugger (dgdebug) version 1c/01. Library version 1.2.2.
Endless Featureless Space
You are in an endless, featureless space. Just what will you create within it?
>
> (grab [#strength #blanket #scent #gas-can])
>
> i
You have no possessions.
>
>
Looks like an extra two spaces on the line before the prompt after the expression.
$ dgdebug --tag-lines keyinput.dg -u
Warning: No library (such as stdlib.dg) was specified on the commandline.
First I'm going to print some text, then ask for line input.
>
The Warning should also be indented. The Skein really needs the first two characters of every line to be " ", "> " or ") ".
Interesting! There’s some code meant to specifically deal with this situation, but it’s interacting badly with dfrotz quirks mode.
Try it now. This awful line of code seems to have fixed it:
if(output_config.tag_lines &&
!(output_config.dfrotz_quirks && !term_is_interactive())
) { // Avoid a weird interaction with quirks mode
printf(" ");
}
An extra tag needs to be printed if tag_lines is true, unless quirks mode is active in a non-interactive terminal. (Which is how our test cases are set up! That’s why this wasn’t noticed before.)
It changes the line-breaking behavior in a few minor ways to exactly match the output of dfrotz. For example, it suppresses all vertical space before the first game text is printed, and messes with the newlines after receiving input.
The intent is that you can get exactly identical transcripts running your game through dfrotz and dgdebug, but unfortunately it doesn’t quite work that way. When Linus was still running the project, there was a bug in dfrotz that meant divs (not spans) with a non-default style wouldn’t appear. Now that bug is fixed…but that bug was the only reason the status bar wasn’t being printed! So now there’s always that difference instead. I’ve considered just dropping support for quirks mode now, but it’s not doing any harm to leave it in.