diff options
author | Bram Moolenaar <bram@vim.org> | 2012-09-05 14:18:45 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2012-09-05 14:18:45 +0200 |
commit | aeee6f3e770133dc9f4312420f935489ae54bfbe (patch) | |
tree | b8192a030c6d348f0fbf450dbf8ee7a545d3a0d1 | |
parent | a4b4bea655ce55bf071ac3c18d60583443142783 (diff) | |
download | vim-aeee6f3e770133dc9f4312420f935489ae54bfbe.tar.gz |
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.c | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -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, |