Commits

Anonymous committed 910eb66

updated for version 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.

  • Participants
  • Parent commits 343a586
  • Tags v7-3-385

Comments (0)

Files changed (2)

File src/getchar.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. */
 #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);

File src/version.c

 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    385,
+/**/
     384,
 /**/
     383,