diff --git a/doc/fixes36.3 b/doc/fixes36.3 index d03090095..261215b97 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.79 $ $NHDT-Date: 1561917056 2019/06/30 17:50:56 $ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.80 $ $NHDT-Date: 1561920590 2019/06/30 18:49:50 $ This fixes36.3 file is here to capture information about updates in the 3.6.x lineage following the release of 3.6.2 in May 2019. Please note, however, @@ -177,6 +177,8 @@ curses+'perm_invent': don't highlight inventory letters since nothing is selectable from the menu comprising the persistent inventory window curses+'popup_dialog': show the text cursor at the end of prompts for single character input +curses+DUMPLOG: pass along old messages from save file and quest message + summaries to dumplog message history curses+EDIT_GETLIN: when a prompt's answer was preloaded, using ESC to discard it deleted it from the answer buffer but didn't erase it from screen curses+EDIT_GETLIN: the preceding fix handled an answer which spanned more diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index ba387f344..7c83ac423 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -887,6 +887,9 @@ boolean restoring_msghist; static boolean initd = FALSE; static int stash_count; static nhprev_mesg *stash_head = 0; +#ifdef DUMPLOG + extern unsigned saved_pline_index; /* pline.c */ +#endif if (restoring_msghist && !initd) { /* hide any messages we've gathered since starting current session @@ -896,12 +899,19 @@ boolean restoring_msghist; stash_head = first_mesg, first_mesg = (nhprev_mesg *) 0; last_mesg = (nhprev_mesg *) 0; /* no need to remember the tail */ initd = TRUE; +#ifdef DUMPLOG + /* this suffices; there's no need to scrub saved_pline[] pointers */ + saved_pline_index = 0; +#endif } if (msg) { mesg_add_line(msg); /* treat all saved and restored messages as turn #1 */ last_mesg->turn = 1L; +#ifdef DUMPLOG + dumplogmsg(last_mesg->str); +#endif } else if (stash_count) { nhprev_mesg *mesg; long mesg_turn; @@ -921,6 +931,9 @@ boolean restoring_msghist; mesg_add_line(mesg->str); /* added line became new tail */ last_mesg->turn = mesg_turn; +#ifdef DUMPLOG + dumplogmsg(mesg->str); +#endif free((genericptr_t) mesg->str); free((genericptr_t) mesg); }