summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.338
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.338')
-rw-r--r--source/ap/vim/patches/7.3.338100
1 files changed, 100 insertions, 0 deletions
diff --git a/source/ap/vim/patches/7.3.338 b/source/ap/vim/patches/7.3.338
new file mode 100644
index 000000000..f273212ac
--- /dev/null
+++ b/source/ap/vim/patches/7.3.338
@@ -0,0 +1,100 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 7.3.338
+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.3.338
+Problem: Using getchar() in an expression mapping doesn't work well.
+Solution: Don't save and restore the typeahead. (James Vega)
+Files: src/getchar.c, src/testdir/test34.ok
+
+
+*** ../vim-7.3.337/src/getchar.c 2011-08-17 20:33:18.000000000 +0200
+--- src/getchar.c 2011-10-12 21:53:27.000000000 +0200
+***************
+*** 2460,2486 ****
+
+ /*
+ * Handle ":map <expr>": evaluate the {rhs} as an
+! * expression. Save and restore the typeahead so that
+! * getchar() can be used. Also save and restore the
+! * command line for "normal :".
+ */
+ if (mp->m_expr)
+ {
+- tasave_T tabuf;
+ int save_vgetc_busy = vgetc_busy;
+
+! save_typeahead(&tabuf);
+! if (tabuf.typebuf_valid)
+! {
+! vgetc_busy = 0;
+! save_m_keys = vim_strsave(mp->m_keys);
+! save_m_str = vim_strsave(mp->m_str);
+! s = eval_map_expr(save_m_str, NUL);
+! vgetc_busy = save_vgetc_busy;
+! }
+! else
+! s = NULL;
+! restore_typeahead(&tabuf);
+ }
+ else
+ #endif
+--- 2460,2477 ----
+
+ /*
+ * Handle ":map <expr>": evaluate the {rhs} as an
+! * expression. Also save and restore the command line
+! * for "normal :".
+ */
+ if (mp->m_expr)
+ {
+ int save_vgetc_busy = vgetc_busy;
+
+! vgetc_busy = 0;
+! save_m_keys = vim_strsave(mp->m_keys);
+! save_m_str = vim_strsave(mp->m_str);
+! s = eval_map_expr(save_m_str, NUL);
+! vgetc_busy = save_vgetc_busy;
+ }
+ else
+ #endif
+*** ../vim-7.3.337/src/testdir/test34.ok 2010-08-15 21:57:29.000000000 +0200
+--- src/testdir/test34.ok 2011-10-12 21:59:39.000000000 +0200
+***************
+*** 1,5 ****
+ xxx4asdf fail nop ok 9 333
+! XX111XX
+ ---222---
+ 1. one
+ 2. two
+--- 1,5 ----
+ xxx4asdf fail nop ok 9 333
+! XX111-XX
+ ---222---
+ 1. one
+ 2. two
+*** ../vim-7.3.337/src/version.c 2011-10-12 21:04:15.000000000 +0200
+--- src/version.c 2011-10-12 21:20:31.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+ { /* Add new patch number below this line */
++ /**/
++ 338,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+65. The last time you looked at the clock it was 11:30pm, and in what
+ seems like only a few seconds later, your sister runs past you to
+ catch her 7am school bus.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
+/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\ an exciting new programming language -- http://www.Zimbu.org ///
+ \\\ help me help AIDS victims -- http://ICCF-Holland.org ///