changeset 21230:e67123c115d2 v8.2.1166

patch 8.2.1166: once mouse move events are enabled getchar() returns them Commit: https://github.com/vim/vim/commit/ae97b94176062d30ea8c68bb83cde034c5150c78 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jul 9 19:16:35 2020 +0200 patch 8.2.1166: once mouse move events are enabled getchar() returns them Problem: Once mouse move events are enabled getchar() returns them. Solution: Ignore K_MOUSEMOVE in getchar(). (closes https://github.com/vim/vim/issues/6424)
author Bram Moolenaar <Bram@vim.org>
date Thu, 09 Jul 2020 19:30:04 +0200
parents c383383768f4
children fcc215b37837
files runtime/doc/eval.txt src/getchar.c src/version.c
diffstat 3 files changed, 7 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -5023,8 +5023,9 @@ getchar([expr])						*getchar()*
 		When the user clicks a mouse button, the mouse event will be
 		returned.  The position can then be found in |v:mouse_col|,
 		|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
-		|getmousepos()| can also be used.  This example positions the
-		mouse as it would normally happen: >
+		|getmousepos()| can also be used.  Mouse move events will be
+		ignored.
+		This example positions the mouse as it would normally happen: >
 			let c = getchar()
 			if c == "\<LeftMouse>" && v:mouse_win > 0
 			  exe v:mouse_win . "wincmd w"
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1501,7 +1501,7 @@ openscript(
 	{
 	    update_topline_cursor();	// update cursor position and topline
 	    normal_cmd(&oa, FALSE);	// execute one command
-	    vpeekc();			// check for end of file
+	    (void)vpeekc();		// check for end of file
 	}
 	while (scriptin[oldcurscript] != NULL);
 
@@ -2045,7 +2045,7 @@ f_getchar(typval_T *argvars, typval_T *r
 	    // getchar(0) and char avail: return char
 	    n = plain_vgetc();
 
-	if (n == K_IGNORE)
+	if (n == K_IGNORE || n == K_MOUSEMOVE)
 	    continue;
 	break;
     }
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1166,
+/**/
     1165,
 /**/
     1164,