From a554a1933c61d5464c5878ea41ec4dce02c2f01e Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 21 Sep 2011 17:33:53 +0200 Subject: updated for version 7.3.318 Problem: "C" on the last line deletes that line if it's blank. Solution: Only delete the last line for a delete operation. (James Vega) --- src/ops.c | 10 ++++++---- src/version.c | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ops.c b/src/ops.c index 41193566d..656285a50 100644 --- a/src/ops.c +++ b/src/ops.c @@ -1922,7 +1922,9 @@ op_delete(oap) curwin->w_cursor.coladd = 0; } #endif - if (oap->inclusive && oap->end.lnum == curbuf->b_ml.ml_line_count + if (oap->op_type == OP_DELETE + && oap->inclusive + && oap->end.lnum == curbuf->b_ml.ml_line_count && n > (int)STRLEN(ml_get(oap->end.lnum))) { /* Special case: gH deletes the last line. */ @@ -3331,8 +3333,8 @@ do_put(regname, dir, count, flags) if (regname == '=') { /* For the = register we need to split the string at NL - * characters. */ - /* Loop twice: count the number of lines and save them. */ + * characters. + * Loop twice: count the number of lines and save them. */ for (;;) { y_size = 0; @@ -3348,7 +3350,7 @@ do_put(regname, dir, count, flags) if (y_array != NULL) *ptr = NUL; ++ptr; - /* A trailing '\n' makes the string linewise */ + /* A trailing '\n' makes the register linewise. */ if (*ptr == NUL) { y_type = MLINE; diff --git a/src/version.c b/src/version.c index 35ed103da..a22a46048 100644 --- a/src/version.c +++ b/src/version.c @@ -709,6 +709,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 318, /**/ 317, /**/ -- cgit v1.2.1