summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.2.225
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.2.225')
-rw-r--r--source/ap/vim/patches/7.2.22597
1 files changed, 97 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.2.225 b/source/ap/vim/patches/7.2.225
new file mode 100644
index 00000000..32a4d357
--- /dev/null
+++ b/source/ap/vim/patches/7.2.225
@@ -0,0 +1,97 @@
+To: vim-dev@vim.org
+Subject: Patch 7.2.225
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.2.225
+Problem: When using ":normal" a saved character may be executed.
+Solution: Also store old_char when saving typeahead.
+Files: src/getchar.c, src/structs.h
+
+
+*** ../vim-7.2.224/src/getchar.c 2009-02-22 23:42:08.000000000 +0100
+--- src/getchar.c 2009-07-09 18:09:13.000000000 +0200
+***************
+*** 1309,1314 ****
+--- 1309,1317 ----
+ 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,1328 ****
+--- 1326,1335 ----
+ 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,1349 ****
+--- 1351,1359 ----
+ 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,1507 ****
+ #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.
+--- 1509,1514 ----
+*** ../vim-7.2.224/src/structs.h 2009-06-16 16:01:34.000000000 +0200
+--- src/structs.h 2009-07-09 18:09:20.000000000 +0200
+***************
+*** 882,887 ****
+--- 882,889 ----
+ {
+ 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;
+*** ../vim-7.2.224/src/version.c 2009-07-09 18:15:19.000000000 +0200
+--- src/version.c 2009-07-09 18:21:56.000000000 +0200
+***************
+*** 678,679 ****
+--- 678,681 ----
+ { /* Add new patch number below this line */
++ /**/
++ 225,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+78. You find yourself dialing IP numbers on the phone.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ download, build and distribute -- http://www.A-A-P.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///