patch 8.0.0457: using :move messes up manual folds
Problem: Using :move messes up manual folds.
Solution: Split adjusting marks and folds. Add foldMoveRange(). (neovim
patch #6221)
diff --git a/src/proto/fold.pro b/src/proto/fold.pro
index dce1803..cda536b 100644
--- a/src/proto/fold.pro
+++ b/src/proto/fold.pro
@@ -31,6 +31,7 @@
int find_wl_entry(win_T *win, linenr_T lnum);
void foldAdjustVisual(void);
void foldAdjustCursor(void);
+void foldMoveRange(garray_T *gap, linenr_T line1, linenr_T line2, linenr_T dest);
void cloneFoldGrowArray(garray_T *from, garray_T *to);
void deleteFoldRecurse(garray_T *gap);
void foldMarkAdjust(win_T *wp, linenr_T line1, linenr_T line2, long amount, long amount_after);
diff --git a/src/proto/mark.pro b/src/proto/mark.pro
index 90be1a5..ff1f441 100644
--- a/src/proto/mark.pro
+++ b/src/proto/mark.pro
@@ -19,6 +19,7 @@
void ex_clearjumps(exarg_T *eap);
void ex_changes(exarg_T *eap);
void mark_adjust(linenr_T line1, linenr_T line2, long amount, long amount_after);
+void mark_adjust_nofold(linenr_T line1, linenr_T line2, long amount, long amount_after);
void mark_col_adjust(linenr_T lnum, colnr_T mincol, long lnum_amount, long col_amount);
void copy_jumplist(win_T *from, win_T *to);
void free_jumplist(win_T *wp);