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,