diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-02-11 19:33:07 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-02-11 19:33:07 +0100 |
commit | f92d8a254ac092e525049ab930924d34eca0f114 (patch) | |
tree | 2bcadc3ad5b0c50f209d7c5e81117ebffb2b22e6 /src/ops.c | |
parent | 92dff1827aa0a199bd26139982c485fe366a5727 (diff) |
updated for version 7.4.178v7.4.178
Problem: The J command does not update '[ and '] marks. (William Gardner)
Solution: Set the marks. (Christian Brabandt)
Diffstat (limited to 'src/ops.c')
-rw-r--r-- | src/ops.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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, |