summaryrefslogtreecommitdiff
path: root/src/ops.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-03-08 09:50:52 +0100
committerBram Moolenaar <Bram@vim.org>2019-03-08 09:50:52 +0100
commit9d7fdd403a3a9ee0d008b6dcbcd2ecc9ec0f57b7 (patch)
tree347df294a69be91eb4e837883f28889f5873c5e8 /src/ops.c
parent19a66858a5e3fedadc371321834507c34e2dfb18 (diff)
downloadvim-git-9d7fdd403a3a9ee0d008b6dcbcd2ecc9ec0f57b7.tar.gz
patch 8.1.0999: use register one too often and not properly testedv8.1.0999
Problem: Use register one too often and not properly tested. Solution: Do not always use register one when specifying a register. (closes #4085) Add more tests.
Diffstat (limited to 'src/ops.c')
-rw-r--r--src/ops.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ops.c b/src/ops.c
index 02c985afe..3353cf9e2 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1747,7 +1747,6 @@ op_delete(oparg_T *oap)
struct block_def bd;
linenr_T old_lcount = curbuf->b_ml.ml_line_count;
int did_yank = FALSE;
- int orig_regname = oap->regname;
if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to do */
return OK;
@@ -1833,12 +1832,13 @@ op_delete(oparg_T *oap)
/*
* Put deleted text into register 1 and shift number registers if the
- * delete contains a line break, or when a regname has been specified.
+ * delete contains a line break, or when using a specific operator (Vi
+ * compatible)
* Use the register name from before adjust_clip_reg() may have
* changed it.
*/
- if (orig_regname != 0 || oap->motion_type == MLINE
- || oap->line_count > 1 || oap->use_reg_one)
+ if (oap->motion_type == MLINE || oap->line_count > 1
+ || oap->use_reg_one)
{
shift_delete_registers();
if (op_yank(oap, TRUE, FALSE) == OK)