From 90b688b143f74ecada459f0268d9ea9d827be12f Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sat, 23 Sep 2006 02:54:25 +0000 Subject: [PATCH] fixed PR 8293 svn: r4420 --- collects/mzlib/private/shared-body.ss | 9 +++++---- collects/tests/mzscheme/shared-tests.ss | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/collects/mzlib/private/shared-body.ss b/collects/mzlib/private/shared-body.ss index 33f4ec2d2e..8cb12899e1 100644 --- a/collects/mzlib/private/shared-body.ss +++ b/collects/mzlib/private/shared-body.ss @@ -146,10 +146,11 @@ [(make-x e ...) (struct-decl-for (syntax make-x)) (let ([decl (struct-decl-for (syntax make-x))]) - (with-syntax ([(setter ...) (reverse (list-ref decl 4))]) - (syntax - (begin - (setter name e) ...))))] + (syntax-case (reverse (list-ref decl 4)) () + [() + (syntax (void))] + [(setter ...) + (syntax (begin (setter name e) ...))]))] [_else (syntax (void))]))) names exprs))] [(check-expr ...) diff --git a/collects/tests/mzscheme/shared-tests.ss b/collects/tests/mzscheme/shared-tests.ss index be677597f4..9c8aabcde3 100644 --- a/collects/tests/mzscheme/shared-tests.ss +++ b/collects/tests/mzscheme/shared-tests.ss @@ -27,7 +27,6 @@ (stest '#11=(#11#) '(shared ([x `(,x)]) x)) - (define-struct s (a b)) (shared ([x (make-s 17 x)]) (begin @@ -35,4 +34,8 @@ (test 17 s-a x) (test #t eq? x (s-b x)))) - +(define-struct shared-test-ds-no-fields ()) +(stest (make-shared-test-ds-no-fields) + '(shared ((-4- 11) + (-8- (make-shared-test-ds-no-fields))) + -8-))