diff options
Diffstat (limited to 'src/ex_cmds.c')
-rw-r--r-- | src/ex_cmds.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 7ed48b967..c78c64361 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -3599,12 +3599,7 @@ do_sub(eap) } if (cmd[0] == '\\' && cmd[1] != 0) /* skip escaped characters */ ++cmd; -#ifdef FEAT_MBYTE - if (has_mbyte) - cmd += (*mb_ptr2len_check)(cmd); - else -#endif - ++cmd; + mb_ptr_adv(cmd); } if (!eap->skip) @@ -4498,6 +4493,10 @@ global_exe(cmd) else check_cursor(); /* cursor may be beyond the end of the line */ + /* the cursor may not have moved in the text but a change in a previous + * line may move it on the screen */ + changed_line_abv_curs(); + /* If it looks like no message was written, allow overwriting the * command with the report for number of changes. */ if (msg_col == 0 && msg_scrolled == 0) |