updated for version 7.2-225
diff --git a/src/getchar.c b/src/getchar.c
index 0947f35..e050601 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1309,6 +1309,9 @@
return OK;
}
+static int old_char = -1; /* character put back by vungetc() */
+static int old_mod_mask; /* mod_mask for ungotten character */
+
#if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO)
/*
@@ -1323,6 +1326,10 @@
if (!tp->typebuf_valid)
typebuf = tp->save_typebuf;
+ tp->old_char = old_char;
+ tp->old_mod_mask = old_mod_mask;
+ old_char = -1;
+
tp->save_stuffbuff = stuffbuff;
stuffbuff.bh_first.b_next = NULL;
# ifdef USE_INPUT_BUF
@@ -1344,6 +1351,9 @@
typebuf = tp->save_typebuf;
}
+ old_char = tp->old_char;
+ old_mod_mask = tp->old_mod_mask;
+
free_buff(&stuffbuff);
stuffbuff = tp->save_stuffbuff;
# ifdef USE_INPUT_BUF
@@ -1499,9 +1509,6 @@
#define KL_PART_KEY -1 /* keylen value for incomplete key-code */
#define KL_PART_MAP -2 /* keylen value for incomplete mapping */
-static int old_char = -1; /* character put back by vungetc() */
-static int old_mod_mask; /* mod_mask for ungotten character */
-
/*
* Get the next input character.
* Can return a special key or a multi-byte character.