Follow-up Comment #2, bug #64628 (project groff):
The explanation is in my original submission.
The named commit has the if/else blocks wrongly switched,
that is, the current "if" content belongs to the "else" block and the "else"
block belongs to the "if" block.
___
Follow-up Comment #3, bug #64628 (project groff):
Or better, change
strcmp(s, last_filename) == 0
to
strcmp(s, last_filename) != 0
void troff_output::set_location(const char *s, int n)
{
assert(s != 0 /* nullptr */);
if ((s != 0 /* nullptr */) && (last_filename != 0 /* nullptr */)