print_table can be used to print several lines of text like a rectangle of a given height and width on screen. If the height is > 1, this involves moving the cursor to the same column and one line below where it started to print line 2 etc. This is typically used in the upper window.
Now I discover that Sherlock uses print_table to print a word which the user has typed, and this is in the lower window, with buffered output turned on. (This is done for the message: [This game doesn’t recognize the word “xyzzy”.])
Moving the cursor around doesn’t really work so well during buffered output.
Should print_table use a special implementation for when the height is 1 and just send characters to buffered output if buffering is enabled?
And what if a multi-line table is printed so close to the right-hand border in the lower window that there isn’t room for the entire width - should the overflow be skipped or printed on the next line?