Another thing I noticed while playing master. Sorry if that's old news... Here's how to reproduce:
Make sure that 'auto more' is off (the bug is easier to notice that way). Find a monster, and press control-x and quit the game. Load it again. As the very first action, press l (or x, with roguelike keyset). Navigate to the monster, press r for recall. The -more- part of the prompt appears, like that: "You see a Fruit bat (unhurt, asleep)-more- 1 E.". Press escape a couple times, and cursor appears in 0, 0 cell of the main term, the rest of row 0 is empty. That happens when the user invokes do_cmd_look() as the first action after loading a level (and maybe in other situations).
The cause of the bug is lore_show_interactive() calling event_signal(EVENT_MESSAGE_FLUSH), which calls message_flush(), while message_column is not 0:
As a fix, I added msg_flag = false; to lore_show_interactive() (immediately before event_signal()), which solved the problem. That's probably just a hack
Make sure that 'auto more' is off (the bug is easier to notice that way). Find a monster, and press control-x and quit the game. Load it again. As the very first action, press l (or x, with roguelike keyset). Navigate to the monster, press r for recall. The -more- part of the prompt appears, like that: "You see a Fruit bat (unhurt, asleep)-more- 1 E.". Press escape a couple times, and cursor appears in 0, 0 cell of the main term, the rest of row 0 is empty. That happens when the user invokes do_cmd_look() as the first action after loading a level (and maybe in other situations).
The cause of the bug is lore_show_interactive() calling event_signal(EVENT_MESSAGE_FLUSH), which calls message_flush(), while message_column is not 0:
Code:
if (message_column) { /* Print pending messages */ if (Term) msg_flush(message_column);
Comment