From abf78dd52abf685007878ef524b27185108e155f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 21 Apr 2001 13:25:19 +0000 Subject: [PATCH] . original commit: c3fa51c407b612461abdcb75b25088f943814959 --- collects/mzlib/class.ss | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/collects/mzlib/class.ss b/collects/mzlib/class.ss index 91e5835..4e20277 100644 --- a/collects/mzlib/class.ss +++ b/collects/mzlib/class.ss @@ -211,17 +211,19 @@ ;; ----- Sort body into different categories ----- (let ([extract (lambda (kws reverse?) (let loop ([l defn-and-exprs]) - (syntax-case l () - [() null] - [((kw . body) . rest) - (ormap (lambda (k) (module-identifier=? k (syntax kw))) kws) - (if reverse? - (loop (stx-cdr l)) - (cons (stx-car l) (loop (stx-cdr l))))] - [_else - (if reverse? - (cons (stx-car l) (loop (stx-cdr l))) - (loop (stx-cdr l)))])))] + (cond + [(null? l) null] + [(and (stx-pair? (car l)) + (let ([id (stx-car (car l))]) + (identifier? id) + (ormap (lambda (k) (module-identifier=? k id)) kws))) + (if reverse? + (loop (cdr l)) + (cons (car l) (loop (cdr l))))] + [else + (if reverse? + (cons (car l) (loop (cdr l))) + (loop (cdr l)))])))] [flatten (lambda (alone l) (apply append (map (lambda (i)