changeset 5664:647e6bb15aa3 v7.4.178

updated for version 7.4.178 Problem: The J command does not update '[ and '] marks. (William Gardner) Solution: Set the marks. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Tue, 11 Feb 2014 19:33:07 +0100
parents 1dea14d4c738
children bae71e70150b
files src/ops.c src/version.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ops.c
+++ b/src/ops.c
@@ -4452,6 +4452,12 @@ do_join(count, insert_space, save_undo, 
     for (t = 0; t < count; ++t)
     {
 	curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t));
+	if (t == 0)
+	{
+	    /* Set the '[ mark. */
+	    curwin->w_buffer->b_op_start.lnum = curwin->w_cursor.lnum;
+	    curwin->w_buffer->b_op_start.col  = (colnr_T)STRLEN(curr);
+	}
 #if defined(FEAT_COMMENTS) || defined(PROTO)
 	if (remove_comments)
 	{
@@ -4568,6 +4574,10 @@ do_join(count, insert_space, save_undo, 
     }
     ml_replace(curwin->w_cursor.lnum, newp, FALSE);
 
+    /* Set the '] mark. */
+    curwin->w_buffer->b_op_end.lnum = curwin->w_cursor.lnum;
+    curwin->w_buffer->b_op_end.col  = (colnr_T)STRLEN(newp);
+
     /* Only report the change in the first line here, del_lines() will report
      * the deleted line. */
     changed_lines(curwin->w_cursor.lnum, currsize,
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    178,
+/**/
     177,
 /**/
     176,