# HG changeset patch # User Bram Moolenaar # Date 1346847525 -7200 # Node ID 063765c3cebbd6040dc091b8c1ba28739fef9118 # Parent 1b1c3cead9ada46be90fae9931a61ec36236e33f updated for version 7.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) diff --git a/src/ops.c b/src/ops.c --- 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 --- 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,