patch 8.0.1423: error in return not caught by try/catch
Problem: Error in return not caught by try/catch.
Solution: Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483)
diff --git a/src/userfunc.c b/src/userfunc.c
index 580df0b..931683d 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -2972,6 +2972,9 @@
/* It's safer to return also on error. */
else if (!eap->skip)
{
+ /* In return statement, cause_abort should be force_abort. */
+ update_force_abort();
+
/*
* Return unless the expression evaluation has been cancelled due to an
* aborting error, an interrupt, or an exception.