patch 8.2.4427: getchar() may return modifiers if no character is available
Problem: getchar() may return modifiers if no character is available.
Solution: Do not process modifiers when there is no character. (closes #9806)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index e2820db..e22a0c6 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1818,6 +1818,10 @@
call assert_equal('', getcharstr(0))
call assert_equal('', getcharstr(1))
+ call feedkeys("\<M-F2>", '')
+ call assert_equal("\<M-F2>", getchar(0))
+ call assert_equal(0, getchar(0))
+
call setline(1, 'xxxx')
call test_setmouse(1, 3)
let v:mouse_win = 9