# HG changeset patch # User Bram Moolenaar # Date 1363466536 -3600 # Node ID 94342b0605fb9111b7fd4a45a8bbc72992c4c255 # Parent 4b460039cb61b84eeaf8aab963494c9321faf6f8 updated for version 7.3.865 Problem: Mouse position may be wrong. Solution: Let vungetc() restore the mouse position. diff --git a/src/getchar.c b/src/getchar.c --- a/src/getchar.c +++ b/src/getchar.c @@ -1337,6 +1337,10 @@ save_typebuf() static int old_char = -1; /* character put back by vungetc() */ static int old_mod_mask; /* mod_mask for ungotten character */ +#ifdef FEAT_MOUSE +static int old_mouse_row; /* mouse_row related to old_char */ +static int old_mouse_col; /* mouse_col related to old_char */ +#endif #if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO) @@ -1567,6 +1571,10 @@ vgetc() c = old_char; old_char = -1; mod_mask = old_mod_mask; +#ifdef FEAT_MOUSE + mouse_row = old_mouse_row; + mouse_col = old_mouse_col; +#endif } else { @@ -1877,6 +1885,10 @@ vungetc(c) /* unget one character (can o { old_char = c; old_mod_mask = mod_mask; +#ifdef FEAT_MOUSE + old_mouse_row = mouse_row; + old_mouse_col = mouse_col; +#endif } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 865, +/**/ 864, /**/ 863,