input: don't drop the first byte when user starts typing during loading

Precalculation of the multiline color data can be cut short when the
user is impatient and starts typing.  But this would drop the first
byte of whatever was typed -- not nice when it was just plain text,
but surprising and worse when the first keystroke was a command.

This fixes https://savannah.gnu.org/bugs/?48388.
master
Benno Schulenberg 2016-07-03 13:37:48 +02:00
parent 4af1da7d95
commit 29986e95a0
1 changed files with 6 additions and 1 deletions

View File

@ -401,10 +401,15 @@ void alloc_multidata_if_needed(filestruct *fileptr)
bool key_was_pressed(void) bool key_was_pressed(void)
{ {
static time_t last_time = 0; static time_t last_time = 0;
int onebyte;
if (time(NULL) != last_time) { if (time(NULL) != last_time) {
last_time = time(NULL); last_time = time(NULL);
return (wgetch(edit) != ERR); onebyte = wgetch(edit);
if (onebyte == ERR)
return FALSE;
ungetch(onebyte);
return TRUE;
} else } else
return FALSE; return FALSE;
} }