Don't return open block at top level when syntaxing a single form.
authorChris Hanson <org/chris-hanson/cph>
Mon, 21 Jan 2019 04:22:28 +0000 (20:22 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sat, 26 Jan 2019 22:48:01 +0000 (14:48 -0800)
(cherry picked from commit 71d9d70415cc836d245175a22bf9b937ae26ab15)

src/runtime/syntax.scm

index f76f5dd46b55537d04d9c13f0de82c9b715cc96b..6673bdf00eb362820cab256f9f78dc2ed34df08b 100644 (file)
@@ -44,7 +44,12 @@ USA.
 ;;;; Top level
 
 (define (syntax form environment)
-  (syntax* (list form) environment))
+  (let ((result (syntax* (list form) environment)))
+    (if (scode-open-block? result)
+       (unscan-defines (scode-open-block-names result)
+                       (scode-open-block-declarations result)
+                       (scode-open-block-actions result))
+       result)))
 
 (define (syntax* forms environment)
   (guarantee list? forms 'syntax*)