diff --git a/7.3.338 b/7.3.338 new file mode 100644 index 0000000..f273212 --- /dev/null +++ b/7.3.338 @@ -0,0 +1,100 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.338 +Fcc: outbox +From: Bram Moolenaar +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 ": 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 ": 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 ///