aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-05-08 00:41:18 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-05-08 01:12:09 +0800
commit5844af0d524956b55100e4350934237e4a12a147 (patch)
tree5d9f239d6421d94f2327df672500332ec72b099f /src/nvim/ops.c
parent32331378134599ece34298f866889b4b311d7b79 (diff)
downloadrneovim-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.c6
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);
}