]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.385 v7.3.385
authorBram Moolenaar <Bram@vim.org>
Fri, 23 Dec 2011 13:54:04 +0000 (14:54 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 23 Dec 2011 13:54:04 +0000 (14:54 +0100)
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.

src/getchar.c
src/version.c

index a895483a4aa97970cc08b02edb9c252aff2f4928..c4457c4f0fd5f70d7f6756e0b91da317c138e44f 100644 (file)
@@ -4510,6 +4510,8 @@ eval_map_expr(str, c)
     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,12 +4535,16 @@ eval_map_expr(str, c)
 #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);
index e57a4cf766f346c254390fd4337ede1c9379d86b..4e40bb3f7fdfb99038412a3e8d055c1327a7dfd1 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    385,
 /**/
     384,
 /**/