diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-05-08 00:41:18 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-05-08 01:12:09 +0800 |
commit | 5844af0d524956b55100e4350934237e4a12a147 (patch) | |
tree | 5d9f239d6421d94f2327df672500332ec72b099f /src/nvim/ops.c | |
parent | 32331378134599ece34298f866889b4b311d7b79 (diff) | |
download | rneovim-5844af0d524956b55100e4350934237e4a12a147.tar.gz rneovim-5844af0d524956b55100e4350934237e4a12a147.tar.bz2 rneovim-5844af0d524956b55100e4350934237e4a12a147.zip |
vim-patch:9.0.1521: failing redo of command with control characters
Problem: Failing redo of command with control characters.
Solution: Use AppendToRedobuffLit() for colon commands. (closes vim/vim#12354)
https://github.com/vim/vim/commit/30b6d6104c3d541c41c868989c020b743e01af08
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r-- | src/nvim/ops.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index ef26d5900d..c1511ab8da 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -5858,7 +5858,11 @@ void do_pending_operator(cmdarg_T *cap, int old_col, bool gui_yank) if (repeat_cmdline == NULL) { ResetRedobuff(); } else { - AppendToRedobuffSpec(repeat_cmdline); + if (cap->cmdchar == ':') { + AppendToRedobuffLit(repeat_cmdline, -1); + } else { + AppendToRedobuffSpec(repeat_cmdline); + } AppendToRedobuff(NL_STR); XFREE_CLEAR(repeat_cmdline); } |