To: vim_dev@googlegroups.com
Subject: Patch 7.3.385
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.385
Problem: When using an expression mapping on the command line the cursor
ends up in the wrong place. (Yasuhiro Matsumoto)
Solution: Save and restore msg_col and msg_row when evaluating the
expression.
Files: src/getchar.
*** ../vim-7.3.384/src/getchar.c 2011-10-12 22:02:07.000000000 +0200
--- src/getchar.c 2011-12-14 18:37:52.000000000 +0100
***************
*** 4510,4515 ****
--- 4510,4517 ----
char_u *expr;
char_u *save_cmd;
pos_T save_cursor;
+ int save_msg_col;
+ int save_msg_row;
/* Remove escaping of CSI, because "str" is in a format to be used as
* typeahead. */
***************
*** 4533,4544 ****
--- 4535,4550 ----
#endif
set_vim_var_char(c); /* set v:char to the typed character */
save_cursor = curwin->w_cursor;
+ save_msg_col = msg_col;
+ save_msg_row = msg_row;
p = eval_to_string(expr, NULL, FALSE);
--textlock;
#ifdef FEAT_EX_EXTRA
--ex_normal_lock;
#endif
curwin->w_cursor = save_cursor;
+ msg_col = save_msg_col;
+ msg_row = save_msg_row;
restore_cmdline_alloc(save_cmd);
vim_free(expr);
*** ../vim-7.3.384/src/version.c 2011-12-23 13:14:58.000000000 +0100
--- src/version.c 2011-12-23 14:53:23.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
{ /* Add new patch number below this line */
+ /**/
+ 385,
/**/
--
`When any government, or any church for that matter, undertakes to say to
its subjects, "This you may not read, this you must not see, this you are
forbidden to know," the end result is tyranny and oppression no matter how
holy the motives' -- Robert A Heinlein, "If this goes on --"
/// 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 ///