patch 8.2.1947: crash when using "zj" without folds
Problem: Crash when using "zj" without folds. (Sean Dewar)
Solution: Check for at least one fold. (closes #7245)
diff --git a/src/fold.c b/src/fold.c
index 8a904f6..4b4e618 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -902,6 +902,8 @@
// that moves the cursor is used.
lnum_off = 0;
gap = &curwin->w_folds;
+ if (gap->ga_len == 0)
+ break;
use_level = FALSE;
maybe_small = FALSE;
lnum_found = curwin->w_cursor.lnum;
diff --git a/src/testdir/test_fold.vim b/src/testdir/test_fold.vim
index 6224464..f0bd6e4 100644
--- a/src/testdir/test_fold.vim
+++ b/src/testdir/test_fold.vim
@@ -835,4 +835,13 @@
bwipe!
endfunc
+" this was crashing
+func Test_move_no_folds()
+ new
+ fold
+ setlocal fdm=expr
+ normal zj
+ bwipe!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 3f2affe..015cf4c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1947,
+/**/
1946,
/**/
1945,