patch 9.1.0002: a closing fold expr, may start a new fold

Problem:  a closing fold expression may unexpectedly start a new fold
          when it should end a fold
          (reported by Shota Nozaki)
Solution: if a fold hasn't started yet, do not immediately
          start a new fold with level 1
          (Shota Nozaki)

fixes: #12768
closes: #13748

Signed-off-by: Shota Nozaki <emonkak@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/fold.c b/src/fold.c
index be20991..5c41ed1 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -3362,7 +3362,9 @@
 		  break;
 
 	// "<1", "<2", .. : end a fold with a certain level
-	case '<': flp->lvl_next = n - 1;
+	case '<': // To prevent an unexpected start of a new fold, the next
+		  // level must not exceed the level of the current fold.
+		  flp->lvl_next = MIN(flp->lvl, n - 1);
 		  flp->end = n;
 		  break;