tty ^P recall for dolook/whatis feedback
Noticed while testing the history suppression: if you have DECgraphics enabled and look at a graphics character on the map, the topline shows x description of x where 'x' is displayed as it appears on the map (line drawing char). ^P for msg_window:single knows about that and reproduces the effect if you recall such a line. But msg_window:full/combination/reverse didn't know about that and dumped it as-is into text output, ending up with a strange 8-bit character for 'x' instead of the line drawing one. I think other rendering schemes will be unaffected by this. It's just duplicating what is done for msg_window:single.
This commit is contained in:
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.246 $ $NHDT-Date: 1549327954 2019/02/05 00:52:34 $
|
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.248 $ $NHDT-Date: 1549333449 2019/02/05 02:24:09 $
|
||||||
|
|
||||||
This fixes36.2 file is here to capture information about updates in the 3.6.x
|
This fixes36.2 file is here to capture information about updates in the 3.6.x
|
||||||
lineage following the release of 3.6.1 in April 2018. Please note, however,
|
lineage following the release of 3.6.1 in April 2018. Please note, however,
|
||||||
@@ -482,6 +482,8 @@ tty: try harder to prevent a disconnected terminal (SIGHUP) from running amok
|
|||||||
and using up all available CPU time
|
and using up all available CPU time
|
||||||
tty: suppress intermediate 'Count: 123' prompt and getpos autodescribe
|
tty: suppress intermediate 'Count: 123' prompt and getpos autodescribe
|
||||||
feedback from being included in ^P message recall
|
feedback from being included in ^P message recall
|
||||||
|
tty: ^P feedback with msg_window:full/combination/reverse containing output
|
||||||
|
from dolook/whatis could show strange characters for DECgraphics
|
||||||
MacOSX: add curses window port
|
MacOSX: add curses window port
|
||||||
MacOSX: add Xcode project to sys/unixNetHack.xcodeproj
|
MacOSX: add Xcode project to sys/unixNetHack.xcodeproj
|
||||||
MacOSX: add Xcode supporting files README.xcode and XCode.xcconfig
|
MacOSX: add Xcode supporting files README.xcode and XCode.xcconfig
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 topl.c $NHDT-Date: 1549327499 2019/02/05 00:44:59 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.43 $ */
|
/* NetHack 3.6 topl.c $NHDT-Date: 1549333449 2019/02/05 02:24:09 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.44 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Michael Allison, 2009. */
|
/*-Copyright (c) Michael Allison, 2009. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -24,9 +24,9 @@ int
|
|||||||
tty_doprev_message()
|
tty_doprev_message()
|
||||||
{
|
{
|
||||||
register struct WinDesc *cw = wins[WIN_MESSAGE];
|
register struct WinDesc *cw = wins[WIN_MESSAGE];
|
||||||
|
|
||||||
winid prevmsg_win;
|
winid prevmsg_win;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if ((iflags.prevmsg_window != 's')
|
if ((iflags.prevmsg_window != 's')
|
||||||
&& !ttyDisplay->inread) { /* not single */
|
&& !ttyDisplay->inread) { /* not single */
|
||||||
if (iflags.prevmsg_window == 'f') { /* full */
|
if (iflags.prevmsg_window == 'f') { /* full */
|
||||||
|
|||||||
+16
-5
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 wintty.c $NHDT-Date: 1549327503 2019/02/05 00:45:03 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.193 $ */
|
/* NetHack 3.6 wintty.c $NHDT-Date: 1549333450 2019/02/05 02:24:10 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.194 $ */
|
||||||
/* Copyright (c) David Cohrs, 1991 */
|
/* Copyright (c) David Cohrs, 1991 */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -2151,6 +2151,7 @@ winid window;
|
|||||||
struct WinDesc *cw;
|
struct WinDesc *cw;
|
||||||
{
|
{
|
||||||
int i, n, attr;
|
int i, n, attr;
|
||||||
|
boolean linestart;
|
||||||
register char *cp;
|
register char *cp;
|
||||||
|
|
||||||
for (n = 0, i = 0; i < cw->maxrow; i++) {
|
for (n = 0, i = 0; i < cw->maxrow; i++) {
|
||||||
@@ -2184,15 +2185,25 @@ struct WinDesc *cw;
|
|||||||
++ttyDisplay->curx;
|
++ttyDisplay->curx;
|
||||||
}
|
}
|
||||||
term_start_attr(attr);
|
term_start_attr(attr);
|
||||||
for (cp = &cw->data[i][1];
|
for (cp = &cw->data[i][1], linestart = TRUE;
|
||||||
#ifndef WIN32CON
|
#ifndef WIN32CON
|
||||||
*cp && (int) ++ttyDisplay->curx < (int) ttyDisplay->cols;
|
*cp && (int) ++ttyDisplay->curx < (int) ttyDisplay->cols;
|
||||||
cp++)
|
cp++
|
||||||
#else
|
#else
|
||||||
*cp && (int) ttyDisplay->curx < (int) ttyDisplay->cols;
|
*cp && (int) ttyDisplay->curx < (int) ttyDisplay->cols;
|
||||||
cp++, ttyDisplay->curx++)
|
cp++, ttyDisplay->curx++
|
||||||
#endif
|
#endif
|
||||||
(void) putchar(*cp);
|
) {
|
||||||
|
/* message recall for msg_window:full/combination/reverse
|
||||||
|
might have output from '/' in it (see redotoplin()) */
|
||||||
|
if (linestart && (*cp & 0x80) != 0) {
|
||||||
|
g_putch(*cp);
|
||||||
|
end_glyphout();
|
||||||
|
linestart = FALSE;
|
||||||
|
} else {
|
||||||
|
(void) putchar(*cp);
|
||||||
|
}
|
||||||
|
}
|
||||||
term_end_attr(attr);
|
term_end_attr(attr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user