diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 48e6948a6..596c74d60 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -950,6 +950,10 @@ curses: line input that doesn't take place on the bottom line of the message curses: menu headings didn't use default text color curses: #perminv changes disabled menu_headings attribute for persistent inventory window headings; reinstate that +curses: messages were tagged by turn in 3.6.x so that ^P can place a separator + between groups of messages; somehow the line of code that recorded + the turn vanished so ^P behaved as if every message came on its own + distinct turn, resulting in lots of "---" separators Qt: at Xp levels above 20 with 'showexp' On, the combined status field "Level:NN/nnnnnnnn" was too big and truncated by a char at each end Qt: searching a text window for something that wasn't found and then searching diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index 150436052..093c78a18 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -372,13 +372,14 @@ curses_prev_mesg(void) for (count = 0; count < num_messages; ++count) { mesg = get_msg_line(do_lifo, count); - if (turn != mesg->turn && count != 0) { - curses_add_menu(wid, &nul_glyphinfo, &Id, 0, 0, - A_NORMAL, "---", MENU_ITEMFLAGS_NONE); + if (mesg->turn != turn) { + if (count > 0) /* skip separator for first line */ + curses_add_menu(wid, &nul_glyphinfo, &Id, 0, 0, + A_NORMAL, "---", MENU_ITEMFLAGS_NONE); + turn = mesg->turn; } curses_add_menu(wid, &nul_glyphinfo, &Id, 0, 0, A_NORMAL, mesg->str, MENU_ITEMFLAGS_NONE); - turn = mesg->turn; } if (!count) curses_add_menu(wid, &nul_glyphinfo, &Id, 0, 0, @@ -787,6 +788,7 @@ mesg_add_line(const char *mline) current_mesg->str = dupstr(mline); } } + current_mesg->turn = g.moves; if (num_messages == 0) { /* very first message; set up head */