To: vim_dev@googlegroups.com Subject: Patch 7.3.385 Fcc: outbox From: Bram Moolenaar 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 ///