diff options
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r-- | src/nvim/ops.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 9b68b713ad..2a3b7beb8e 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -983,25 +983,29 @@ do_execreg( EMSG(_(e_nolastcmd)); return FAIL; } - XFREE_CLEAR(new_last_cmdline); // don't keep the cmdline containing @: + // don't keep the cmdline containing @: + XFREE_CLEAR(new_last_cmdline); // Escape all control characters with a CTRL-V p = vim_strsave_escaped_ext( last_cmdline, - (char_u *) - "\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037", - Ctrl_V, FALSE); - /* When in Visual mode "'<,'>" will be prepended to the command. - * Remove it when it's already there. */ - if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0) - retval = put_in_typebuf(p + 5, TRUE, TRUE, silent); - else - retval = put_in_typebuf(p, TRUE, TRUE, silent); + (char_u *)"\001\002\003\004\005\006\007" + "\010\011\012\013\014\015\016\017" + "\020\021\022\023\024\025\026\027" + "\030\031\032\033\034\035\036\037", + Ctrl_V, false); + // When in Visual mode "'<,'>" will be prepended to the command. + // Remove it when it's already there. + if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0) { + retval = put_in_typebuf(p + 5, true, true, silent); + } else { + retval = put_in_typebuf(p, true, true, silent); + } xfree(p); } else if (regname == '=') { p = get_expr_line(); if (p == NULL) return FAIL; - retval = put_in_typebuf(p, TRUE, colon, silent); + retval = put_in_typebuf(p, true, colon, silent); xfree(p); } else if (regname == '.') { /* use last inserted text */ p = get_last_insert_save(); @@ -1009,7 +1013,7 @@ do_execreg( EMSG(_(e_noinstext)); return FAIL; } - retval = put_in_typebuf(p, FALSE, colon, silent); + retval = put_in_typebuf(p, false, colon, silent); xfree(p); } else { yankreg_T *reg = get_yank_register(regname, YREG_PASTE); @@ -1075,8 +1079,8 @@ static void put_reedit_in_typebuf(int silent) */ static int put_in_typebuf( char_u *s, - int esc, - int colon, /* add ':' before the line */ + bool esc, + bool colon, // add ':' before the line int silent ) { |