diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index f9cf10c96..fd4c4d094 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -1642,6 +1642,9 @@ curses: typing ESC to cancel something issued a beep; if the terminal was set curses: with window borders on and align_status:left, restoring brought up a screen where the message window's border wasn't shown; once it needed to be scrolled to fit a new message, the border appeared +curses: after changing curses_mark_synch() to do something, making a menu + selection by entering a count that uses more than 1 digit caused the + menu to vanish 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/cursmain.c b/win/curses/cursmain.c index 2c0c8a16a..ba76ecf4e 100644 --- a/win/curses/cursmain.c +++ b/win/curses/cursmain.c @@ -751,7 +751,11 @@ mark_synch() -- Don't go beyond this point in I/O on any channel until void curses_mark_synch(void) { - curses_refresh_nethack_windows(); + /* full refresh has unintended side-effect of making a menu window + that has called core's get_count() to vanish; do a basic screen + refresh instead */ + /*curses_refresh_nethack_windows();*/ + refresh(); } /* diff --git a/win/curses/cursmisc.c b/win/curses/cursmisc.c index ef07fb602..2ee464fe1 100644 --- a/win/curses/cursmisc.c +++ b/win/curses/cursmisc.c @@ -712,11 +712,11 @@ curses_get_count(int first_digit) curses's message window will display that in count window instead */ current_char = get_count(NULL, (char) first_digit, /* 0L => no limit on value unless it wraps - to negative */ + * to negative */ 0L, ¤t_count, - /* default: don't put into message history, - don't echo until second digit entered */ - GC_NOFLAGS); + /* don't put into message history, echo full + * number rather than waiting until 2nd digit */ + GC_ECHOFIRST); ungetch(current_char); if (current_char == '\033') { /* Cancelled with escape */