From: cohrs Date: Sun, 14 Apr 2002 21:45:33 +0000 (+0000) Subject: tty message loss X-Git-Tag: MOVE2GIT~2790 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1ca03c750dfdddd09cde2fc12df37357503ff8af;p=nethack tty message loss - typing ESC would lose messages if msg_window was not displayed - incorporate 's fix, which causes them to be tracked, just not displayed, and thus still available for ^P viewing later on --- diff --git a/doc/fixes34.1 b/doc/fixes34.1 index c924e6dd2..e51a0aa84 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -88,6 +88,7 @@ tty: remove #define DEBUG that forced debug behavior in production builds X11: getlin dialog got steadily narrower each time it was used unix: install recover command into GAMEDIR by default tty: correctly handle an empty TERM environment variable +tty: don't lose messages when ESC has canceled their display General New Features diff --git a/win/tty/topl.c b/win/tty/topl.c index ec38d6ab1..12188b1b1 100644 --- a/win/tty/topl.c +++ b/win/tty/topl.c @@ -165,8 +165,7 @@ update_topl(bp) /* If there is room on the line, print message on same line */ /* But messages like "You die..." deserve their own line */ n0 = strlen(bp); - if( (ttyDisplay->toplin == 1 || - (cw->flags & WIN_STOP && iflags.prevmsg_window)) && + if ((ttyDisplay->toplin == 1 || (cw->flags & WIN_STOP)) && cw->cury == 0 && n0 + (int)strlen(toplines) + 3 < CO-8 && /* room for --More-- */ (notdied = strncmp(bp, "You die", 7))) { @@ -176,7 +175,7 @@ update_topl(bp) if(!(cw->flags & WIN_STOP)) addtopl(bp); return; - } else if (!(cw->flags & WIN_STOP && !iflags.prevmsg_window)) { + } else if (!(cw->flags & WIN_STOP)) { if(ttyDisplay->toplin == 1) more(); else if(cw->cury) { /* for when flags.toplin == 2 && cury > 1 */ docorner(1, cw->cury+1); /* reset cury = 0 if redraw screen */ diff --git a/win/tty/wintty.c b/win/tty/wintty.c index e5ed37773..a9c356f67 100644 --- a/win/tty/wintty.c +++ b/win/tty/wintty.c @@ -1745,8 +1745,7 @@ tty_putstr(window, attr, str) } if(str == (const char*)0 || - ( (cw->flags & WIN_CANCELLED) && - (cw->type != NHW_MESSAGE || !iflags.prevmsg_window) )) + ((cw->flags & WIN_CANCELLED) && (cw->type != NHW_MESSAGE))) return; if(cw->type != NHW_MESSAGE) str = compress_str(str);