aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/ops.c1
-rw-r--r--test/old/testdir/test_registers.vim17
2 files changed, 18 insertions, 0 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index 6f5f209a71..ece7ccc960 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -1160,6 +1160,7 @@ int do_execreg(int regname, int colon, int addcr, int silent)
}
}
reg_executing = regname == 0 ? '"' : regname; // disable the 'q' command
+ pending_end_reg_executing = false;
}
return retval;
}
diff --git a/test/old/testdir/test_registers.vim b/test/old/testdir/test_registers.vim
index 01f9507916..0817c123a9 100644
--- a/test/old/testdir/test_registers.vim
+++ b/test/old/testdir/test_registers.vim
@@ -801,6 +801,23 @@ func Test_end_reg_executing()
bwipe!
endfunc
+func Test_reg_executing_in_range_normal()
+ new
+ set showcmd
+ call setline(1, range(10))
+ let g:log = []
+ nnoremap s <Cmd>let g:log += [reg_executing()]<CR>
+ let @r = 's'
+
+ %normal @r
+ call assert_equal(repeat(['r'], 10), g:log)
+
+ nunmap s
+ unlet g:log
+ set showcmd&
+ bwipe!
+endfunc
+
" An operator-pending mode mapping shouldn't be applied to keys typed in
" Insert mode immediately after a character search when replaying.
func Test_replay_charsearch_omap()