Mercurial > vim
diff src/change.c @ 31762:b53ab3c3e0c9 v9.0.1213
patch 9.0.1213: adding a line below the last one does not expand fold
Commit: https://github.com/vim/vim/commit/da3dd7d857ba4fb4bf408dedd1d9d6a2d5e2ae9f
Author: Brandon Simmons <simmsbra@gmail.com>
Date: Tue Jan 17 19:48:07 2023 +0000
patch 9.0.1213: adding a line below the last one does not expand fold
Problem: Adding a line below the last one does not expand fold.
Solution: Do not skip mark_adjust() when adding lines below the last one.
(Brandon Simmons, closes #11832, closes #10698)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 17 Jan 2023 21:00:05 +0100 |
parents | b6bef244837e |
children | 984969b81d63 |
line wrap: on
line diff
--- a/src/change.c +++ b/src/change.c @@ -772,14 +772,7 @@ appended_lines(linenr_T lnum, long count void appended_lines_mark(linenr_T lnum, long count) { - // Skip mark_adjust when adding a line after the last one, there can't - // be marks there. But it's still needed in diff mode. - if (lnum + count < curbuf->b_ml.ml_line_count -#ifdef FEAT_DIFF - || curwin->w_p_diff -#endif - ) - mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L); + mark_adjust(lnum + 1, (linenr_T)MAXLNUM, count, 0L); changed_lines(lnum + 1, 0, lnum + 1, count); } @@ -2142,14 +2135,7 @@ open_line( goto theend; // Postpone calling changed_lines(), because it would mess up folding // with markers. - // Skip mark_adjust when adding a line after the last one, there can't - // be marks there. But still needed in diff mode. - if (curwin->w_cursor.lnum + 1 < curbuf->b_ml.ml_line_count -#ifdef FEAT_DIFF - || curwin->w_p_diff -#endif - ) - mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L); + mark_adjust(curwin->w_cursor.lnum + 1, (linenr_T)MAXLNUM, 1L, 0L); did_append = TRUE; #ifdef FEAT_PROP_POPUP if ((State & MODE_INSERT) && (State & VREPLACE_FLAG) == 0)