# HG changeset patch # User vimboss # Date 1247156659 0 # Node ID 7caa503b63a9b193f3b9e016a0a466ff8065f2f0 # Parent f798c90439866d3d29eb0fa460d51e4de26f27d8 updated for version 7.2-225 diff --git a/src/getchar.c b/src/getchar.c --- 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. diff --git a/src/structs.h b/src/structs.h --- a/src/structs.h +++ b/src/structs.h @@ -882,6 +882,8 @@ typedef struct { typebuf_T save_typebuf; int typebuf_valid; /* TRUE when save_typebuf valid */ + int old_char; + int old_mod_mask; struct buffheader save_stuffbuff; #ifdef USE_INPUT_BUF char_u *save_inputbuf; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 225, +/**/ 224, /**/ 223,