diff --git a/src/ops.c b/src/ops.c index 41193566db..656285a50f 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 35ed103da0..a22a46048d 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, /**/