commit 3c963cfff7918a76646ef442272c928210844b64
parent 1d321ee53af293679b1572ec2138a663c357abb4
Author: Wolfgang Corcoran-Mathe <wcm@sigwinch.xyz>
Date: Thu, 1 Feb 2024 14:33:32 -0500
Exception handling: Texify.
Diffstat:
1 file changed, 22 insertions(+), 12 deletions(-)
diff --git a/doc/r7rs-small/derived/exception-handling.texinfo b/doc/r7rs-small/derived/exception-handling.texinfo
@@ -1,22 +1,32 @@
@node Exception handling
@subsection Exception handling
-syntax: (guard (@svar{variable}
- @svar{cond clause1} @svar{cond clause2} @dots{})
- @svar{body})
+@c TODO: Determine whether we can get the full form into the
+@c deffin without making it unreadable.
+@deffn syntax guard
+
+@display
+@code{(guard (}@svar{variable}
+ @svar{cond clause1} @svar{cond clause2} @dots{}@code{)}
+ @svar{body}@code{)}
+@end display
Syntax: Each @svar{cond clause} is as in the specification of cond.
-Semantics: The @svar{body} is evaluated with an exception handler that binds the raised object
-(see raise in section 6.11) to @svar{variable} and, within the scope of that binding, evaluates the
-clauses as if they were the clauses of a cond expression. That implicit cond expression is
-evaluated with the continuation and dynamic environment of the guard expression. If
-every @svar{cond clause}'s @svar{test} evaluates to #f and there is no else clause, then
-raise-continuable is invoked on the raised object within the dynamic environment of the
-original call to raise or raise-continuable, except that the current exception handler is that
-of the guard expression.
+Semantics: The @svar{body} is evaluated with an exception
+handler that binds the raised object (see @code{raise} in @ref{Exceptions})
+to @svar{variable} and, within the scope of
+that binding, evaluates the clauses as if they were the clauses of a
+@code{cond} expression. That implicit @code{cond} expression is evaluated with the
+continuation and dynamic environment of the @code{guard} expression. If every
+@svar{cond clause}'s @svar{test} evaluates to @code{#f} and there
+is no else clause, then
+@code{raise-continuable} is invoked on the raised object within the dynamic
+environment of the original call to @code{raise}
+or @code{raise-continuable}, except that the current
+exception handler is that of the @code{guard} expression.
-See section 6.11 for a more complete discussion of exceptions.
+@xref{Exceptions} for a more complete discussion of exceptions.
@example
(guard (condition