patch 8.2.1608: Vim9: getchar() test fails with GUI
Problem: Vim9: getchar() test fails with GUI.
Solution: Avoid that getchar(0) gets stuck on K_IGNORE.
diff --git a/src/getchar.c b/src/getchar.c
index 4f5ea46..e42fc33 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2044,10 +2044,12 @@
// illegal argument or getchar(0) and no char avail: return zero
n = 0;
else
- // getchar(0) and char avail: return char
- n = plain_vgetc();
+ // getchar(0) and char avail() != NUL: get a character.
+ // Note that vpeekc_any() returns K_SPECIAL for K_IGNORE.
+ n = safe_vgetc();
- if (n == K_IGNORE || n == K_MOUSEMOVE)
+ if (n == K_IGNORE || n == K_MOUSEMOVE
+ || n == K_VER_SCROLLBAR || n == K_HOR_SCROLLBAR)
continue;
break;
}