updated for version 7.3.865
Problem: Mouse position may be wrong. Solution: Let vungetc() restore the mouse position.
This commit is contained in:
@ -1337,6 +1337,10 @@ save_typebuf()
|
|||||||
|
|
||||||
static int old_char = -1; /* character put back by vungetc() */
|
static int old_char = -1; /* character put back by vungetc() */
|
||||||
static int old_mod_mask; /* mod_mask for ungotten character */
|
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)
|
#if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)
|
||||||
|
|
||||||
@ -1567,6 +1571,10 @@ vgetc()
|
|||||||
c = old_char;
|
c = old_char;
|
||||||
old_char = -1;
|
old_char = -1;
|
||||||
mod_mask = old_mod_mask;
|
mod_mask = old_mod_mask;
|
||||||
|
#ifdef FEAT_MOUSE
|
||||||
|
mouse_row = old_mouse_row;
|
||||||
|
mouse_col = old_mouse_col;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1877,6 +1885,10 @@ vungetc(c) /* unget one character (can only be done once!) */
|
|||||||
{
|
{
|
||||||
old_char = c;
|
old_char = c;
|
||||||
old_mod_mask = mod_mask;
|
old_mod_mask = mod_mask;
|
||||||
|
#ifdef FEAT_MOUSE
|
||||||
|
old_mouse_row = mouse_row;
|
||||||
|
old_mouse_col = mouse_col;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -728,6 +728,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
865,
|
||||||
/**/
|
/**/
|
||||||
864,
|
864,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user