tty message loss

- typing ESC would lose messages if msg_window was not displayed
- incorporate <Someone>'s fix, which causes them to be tracked, just not
displayed, and thus still available for ^P viewing later on
This commit is contained in:
cohrs
2002-04-14 21:45:33 +00:00
parent c850007966
commit 1ca03c750d
3 changed files with 4 additions and 5 deletions

View File

@@ -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

View File

@@ -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 */

View File

@@ -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);