summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2012-09-05 14:18:45 +0200
committerBram Moolenaar <bram@vim.org>2012-09-05 14:18:45 +0200
commitaeee6f3e770133dc9f4312420f935489ae54bfbe (patch)
treeb8192a030c6d348f0fbf450dbf8ee7a545d3a0d1
parenta4b4bea655ce55bf071ac3c18d60583443142783 (diff)
downloadvim-aeee6f3e770133dc9f4312420f935489ae54bfbe.tar.gz
updated for version 7.3.649v7.3.649v7-3-649
Problem: When 'clipboard' is set to "unnamed" small deletes end up in the numbered registers. (Ingo Karkat) Solution: Use the original register name to decide whether to put a delete in a numbered register. (Christian Brabandt)
-rw-r--r--src/ops.c5
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ops.c b/src/ops.c
index 561046d3..f08e576c 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -1623,6 +1623,7 @@ op_delete(oap)
#endif
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;
@@ -1715,8 +1716,10 @@ op_delete(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.
+ * Use the register name from before adjust_clip_reg() may have
+ * changed it.
*/
- if (oap->regname != 0 || oap->motion_type == MLINE
+ if (orig_regname != 0 || oap->motion_type == MLINE
|| oap->line_count > 1 || oap->use_reg_one)
{
y_current = &y_regs[9];
diff --git a/src/version.c b/src/version.c
index 577eddea..4b4890c7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -720,6 +720,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 649,
+/**/
648,
/**/
647,