forked from aniani/vim
updated for version 7.4.178
Problem: The J command does not update '[ and '] marks. (William Gardner) Solution: Set the marks. (Christian Brabandt)
This commit is contained in:
10
src/ops.c
10
src/ops.c
@@ -4452,6 +4452,12 @@ do_join(count, insert_space, save_undo, use_formatoptions)
|
||||
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, use_formatoptions)
|
||||
}
|
||||
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,
|
||||
|
Reference in New Issue
Block a user