From ba87f38f729c7856882e7dd6a597cfb3227e5579 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 11 Jul 2009 15:23:07 +0000 Subject: [PATCH] improve checker for optional keywords svn: r15432 --- collects/scheme/private/kw.ss | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/collects/scheme/private/kw.ss b/collects/scheme/private/kw.ss index e55bd81372..7261533e7a 100644 --- a/collects/scheme/private/kw.ss +++ b/collects/scheme/private/kw.ss @@ -666,6 +666,13 @@ (syntax-case stx (quote) [(_ l1-expr '()) #'(null? l1-expr)] [(_ '() l2-expr) #'#t] + [(_ l1-expr '(kw . kws)) #'(let ([l1 l1-expr]) + (let ([l1 (if (null? l1) + l1 + (if (eq? (car l1) 'kw) + (cdr l1) + l1))]) + (subset?/static l1 'kws)))] [(_ l1-expr l2-expr) #'(subset? l1-expr l2-expr)])) (define-syntax (subsets?/static stx)