patch 8.2.4880: Vim9: misplaced elseif causes invalid memory access

Problem:    Vim9: misplaced elseif causes invalid memory access.
Solution:   Check cs_idx not to be negative.
diff --git a/src/ex_eval.c b/src/ex_eval.c
index 7b4ac17..f3e2ca2 100644
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -1124,10 +1124,13 @@
 	skip = TRUE;
     }
 
-    // Variables declared in the previous block can no longer be
-    // used.  Needs to be done before setting "cs_flags".
-    leave_block(cstack);
-    enter_block(cstack);
+    if (cstack->cs_idx >= 0)
+    {
+	// Variables declared in the previous block can no longer be
+	// used.  Needs to be done before setting "cs_flags".
+	leave_block(cstack);
+	enter_block(cstack);
+    }
 
     // if skipping or the ":if" was TRUE, reset ACTIVE, otherwise set it
     if (skip || cstack->cs_flags[cstack->cs_idx] & CSF_TRUE)