~ chicken-core (chicken-5) 7f8bf2b4daf264a438cbc3ea99230c88d9c66323


commit 7f8bf2b4daf264a438cbc3ea99230c88d9c66323
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Mon Nov 29 06:48:19 2010 -0500
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Mon Nov 29 06:48:19 2010 -0500

    strip-syntax patch by sjamaan

diff --git a/expand.scm b/expand.scm
index 6e9dff45..22b6a618 100644
--- a/expand.scm
+++ b/expand.scm
@@ -111,7 +111,7 @@
               (set! seen (cons (cons x vec) seen))
               (do ((i 0 (fx+ i 1)))
                   ((fx>= i len) vec)
-                (##sys#setslot vec i (##sys#slot x i)))))
+                (##sys#setslot vec i (walk (##sys#slot x i))))))
            (else x)))))
 
 (define strip-syntax ##sys#strip-syntax)
diff --git a/tests/syntax-tests.scm b/tests/syntax-tests.scm
index 49aafcbd..a66ef763 100644
--- a/tests/syntax-tests.scm
+++ b/tests/syntax-tests.scm
@@ -165,6 +165,13 @@
     (let ((a 2))
       (t '(1 2 3 a) (foo a)))))
 
+;; Strip-syntax on vectors:
+(let-syntax
+    ((foo (syntax-rules ()
+            ((_)
+             '#(b)))))
+  (t '#(b) (foo)))
+
 (define-syntax kw
   (syntax-rules (baz)
     ((_ baz) "baz")
Trap