summaryrefslogtreecommitdiff
path: root/src/getchar.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-07-09 16:24:19 +0000
committerBram Moolenaar <Bram@vim.org>2009-07-09 16:24:19 +0000
commit13df0fea4b79d5b3184df8c39b077ae0f6163375 (patch)
tree11b15d6700389ef860d255f7b22f9f6edd137ad8 /src/getchar.c
parent031e0dd6633784b68da32585bfab2dadc8cf3256 (diff)
downloadvim-13df0fea4b79d5b3184df8c39b077ae0f6163375.zip
updated for version 7.2-225
Diffstat (limited to 'src/getchar.c')
-rw-r--r--src/getchar.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 0947f35fe..e050601cf 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1309,6 +1309,9 @@ save_typebuf()
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 @@ save_typeahead(tp)
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 @@ restore_typeahead(tp)
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 @@ updatescript(c)
#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.