aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/ops.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-02-23 11:12:30 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-03-09 13:32:50 +0800
commit5ac30eacf41848ffebcea692a913bc77a0a7424f (patch)
tree7f6308470ff09a0e33673cf43e608e2eef8d667c /src/nvim/ops.c
parentf6d507f5ba2a11f8f0a2bd976f38d2c0d170e91f (diff)
downloadrneovim-5ac30eacf41848ffebcea692a913bc77a0a7424f.tar.gz
rneovim-5ac30eacf41848ffebcea692a913bc77a0a7424f.tar.bz2
rneovim-5ac30eacf41848ffebcea692a913bc77a0a7424f.zip
vim-patch:8.1.0999: use register one too often and not properly tested
Problem: Use register one too often and not properly tested. Solution: Do not always use register one when specifying a register. (closes vim/vim#4085) Add more tests. https://github.com/vim/vim/commit/9d7fdd403a3a9ee0d008b6dcbcd2ecc9ec0f57b7
Diffstat (limited to 'src/nvim/ops.c')
-rw-r--r--src/nvim/ops.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c
index a18c6e126a..23db7fe5a3 100644
--- a/src/nvim/ops.c
+++ b/src/nvim/ops.c
@@ -1582,12 +1582,10 @@ int op_delete(oparg_T *oap)
did_yank = true;
}
- /*
- * Put deleted text into register 1 and shift number registers if the
- * delete contains a line break, or when a regname has been specified.
- */
- if (oap->regname != 0 || oap->motion_type == kMTLineWise
- || oap->line_count > 1 || oap->use_reg_one) {
+ // Put deleted text into register 1 and shift number registers if the
+ // delete contains a line break, or when using a specific operator (Vi
+ // compatible)
+ if (oap->motion_type == kMTLineWise || oap->line_count > 1 || oap->use_reg_one) {
shift_delete_registers(is_append_register(oap->regname));
reg = &y_regs[1];
op_yank_reg(oap, false, reg, false);