Subject: bug#17940: (begin)

From: Matt Wette <[email-masked]>
Date: Fri, 13 Mar 2020 06:08:01 -0700

I have run into this also, in writing macros.
My workaround is to always add (if #f #f)
in my forms that allow no expressions in the body.
See second-to-last line below.

(define-syntax sx-match-1
   (syntax-rules ()
     ((_ v (pat exp ...) c1 ...)
      (let ((kf (lambda () (sx-match-1 v c1 ...))))
        (sxm-sexp v pat (begin (if #f #f) exp ...) (kf))))
     ((_ v) (error "sx-match: nothing matches"))))