From b81426bb210ea5fca6d841e4dfeb38d83e1a6554 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 7 Aug 2022 19:42:35 -0700 Subject: Misc test fixup in the compiler. --- lib/csc/macros.csc | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'lib/csc/macros.csc') diff --git a/lib/csc/macros.csc b/lib/csc/macros.csc index 4463f91..739f532 100644 --- a/lib/csc/macros.csc +++ b/lib/csc/macros.csc @@ -837,14 +837,15 @@ (set! ident-map (insert ident-map k v))) env) (define environment (make-environment ident-map name)) - (loop for expr in body - for expanded-expr = (expand expr environment) - with res = (make-constant #f) - do (set! res (make-sequence res expanded-expr)) - finally (return res) - if (define-syntax? expanded-expr) - do (set! environment - (add-binding - (define-syntax-name expanded-expr) - (define-syntax-transformer expanded-expr) - environment)))))) + (if (null? body) + (make-constant #f) + (loop for expr in body + for expanded-expr = (expand expr environment) + for res = expanded-expr then (make-sequence res expanded-expr) + finally (return res) + if (define-syntax? expanded-expr) + do (set! environment + (add-binding + (define-syntax-name expanded-expr) + (define-syntax-transformer expanded-expr) + environment))))))) -- cgit v1.3.1