(BEGIN0 <expression> <command> ...) evaluates <expression>, executes
<command> ..., and then returns the value of <expression>.
(Cf. Common Lisp's PROG1.)
static
DEFUN_STD_HANDLER (sighnd_fpe,
{
+ FPE_RESET_TRAPS ();
if (executing_scheme_primitive_p ())
error_floating_point_exception ();
- FPE_RESET_TRAPS ();
trap_handler ("floating-point exception", signo, info, scp);
})
#endif
`(,keyword:unspecific))
(define (unassigned-expression)
- `(,keyword:unassigned))
\ No newline at end of file
+ `(,keyword:unassigned))
+
+(define-syntax :begin0
+ (syntax-rules ()
+ ((BEGIN0 form0 form1+ ...)
+ (LET ((RESULT form0))
+ form1+ ...
+ RESULT))))
\ No newline at end of file
(access :access)
(and :and)
(and-let* :and-let*)
+ (begin0 :begin0)
(case :case)
(cond :cond)
(cond-expand :cond-expand)