File 0281-Document-the-scoping-rules-for-try-catch-of-after-ex.patch of Package erlang

From ce6d9a8377ba80f4635df09c0110a39cceddd995 Mon Sep 17 00:00:00 2001
From: Robin Morisset <rmorisset@fb.com>
Date: Wed, 5 Apr 2023 09:06:27 -0700
Subject: [PATCH] Document the scoping rules for try/catch/of/after expressions

Fixes #6598.
---
 system/doc/reference_manual/expressions.xml | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/system/doc/reference_manual/expressions.xml b/system/doc/reference_manual/expressions.xml
index 34e622a67e..6b3ba96b6b 100644
--- a/system/doc/reference_manual/expressions.xml
+++ b/system/doc/reference_manual/expressions.xml
@@ -1938,6 +1938,20 @@ catch
     exit:Reason -> {'EXIT',Reason}
     error:Reason:Stk -> {'EXIT',{Reason,Stk}}
 end</code>
+
+    <p>Variables bound in the various parts of these expressions have different scopes.
+      Variables bound just after the <c>try</c> keyword are:</p>
+    <list type="bulleted">
+      <item>bound in the <c>of</c> section</item>
+      <item>unsafe in both the <c>catch</c> and <c>after</c> sections, as well as after the whole construct</item>
+    </list>
+    <p>Variables bound in <c>of</c> section are:</p>
+    <list type="bulleted">
+      <item>unbound in the <c>catch</c> section</item>
+      <item>unsafe in both the <c>after</c> section, as well as after the whole construct</item>
+    </list>
+    <p>Variables bound in the <c>catch</c> section are unsafe in the <c>after</c> section, as well as after the whole construct.</p>
+    <p>Variables bound in the <c>after</c> section are unsafe after the whole construct.</p>
   </section>
 
   <section>
@@ -2426,4 +2440,3 @@ KeyPattern := ValuePattern &lt;- MapExpression</pre>
 * 1:7: syntax error before: '&lt;'</pre>
   </section>
 </chapter>
-
-- 
2.35.3

openSUSE Build Service is sponsored by