diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-05-22 21:03:22 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-22 21:03:22 +0800 |
commit | 70e3caec4a570e6ab1375aec98ebbfa1dd673961 (patch) | |
tree | b88c0c27dd4429b7c98091bb797e333566d6c35a /src | |
parent | e7b3fd8ad603ba064ce9457a8866430c436c3737 (diff) | |
download | rneovim-70e3caec4a570e6ab1375aec98ebbfa1dd673961.tar.gz rneovim-70e3caec4a570e6ab1375aec98ebbfa1dd673961.tar.bz2 rneovim-70e3caec4a570e6ab1375aec98ebbfa1dd673961.zip |
fix(folds): fix fold regression with :move (#18685)
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_cmds.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 8369db7de1..ce3afba19b 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -971,7 +971,11 @@ int do_move(linenr_T line1, linenr_T line2, linenr_T dest) */ last_line = curbuf->b_ml.ml_line_count; mark_adjust_nofold(line1, line2, last_line - line2, 0L, kExtmarkNOOP); + + disable_fold_update++; changed_lines(last_line - num_lines + 1, 0, last_line + 1, num_lines, false); + disable_fold_update--; + int line_off = 0; bcount_t byte_off = 0; if (dest >= line2) { @@ -1005,7 +1009,9 @@ int do_move(linenr_T line1, linenr_T line2, linenr_T dest) mark_adjust_nofold(last_line - num_lines + 1, last_line, -(last_line - dest - extra), 0L, kExtmarkNOOP); + disable_fold_update++; changed_lines(last_line - num_lines + 1, 0, last_line + 1, -extra, false); + disable_fold_update--; // send update regarding the new lines that were added buf_updates_send_changes(curbuf, dest + 1, num_lines, 0, true); |