summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-07-09 19:16:35 +0200
committerBram Moolenaar <Bram@vim.org>2020-07-09 19:16:35 +0200
commitae97b94176062d30ea8c68bb83cde034c5150c78 (patch)
tree21c785e01745c5a26b0c775ce327c9d8376e9e30
parente4358906fdbd0b2df1889dad49c79a9c8cee5ac4 (diff)
downloadvim-git-ae97b94176062d30ea8c68bb83cde034c5150c78.tar.gz
patch 8.2.1166: once mouse move events are enabled getchar() returns themv8.2.1166
Problem: Once mouse move events are enabled getchar() returns them. Solution: Ignore K_MOUSEMOVE in getchar(). (closes #6424)
-rw-r--r--runtime/doc/eval.txt5
-rw-r--r--src/getchar.c4
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 10b57b7b8..08399b8e0 100644
--- 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"
diff --git a/src/getchar.c b/src/getchar.c
index 2beffa578..e040748d6 100644
--- 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 *rettv)
// getchar(0) and char avail: return char
n = plain_vgetc();
- if (n == K_IGNORE)
+ if (n == K_IGNORE || n == K_MOUSEMOVE)
continue;
break;
}
diff --git a/src/version.c b/src/version.c
index 06f3f27ca..9fcf578ff 100644
--- 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,