This commit is contained in:
Asumu Takikawa 2012-12-24 17:56:08 -05:00
parent f3fa5d1669
commit 3fc8ce0709

View File

@ -25,26 +25,28 @@
(stx-null? (stx-cdr (stx-cdr x))) (stx-null? (stx-cdr (stx-cdr x)))
#f) #f)
#f))) #f)))
(if (if (not (stx-list? stx)) (let-values ([(maybe-msg)
#t (if (not (stx-list? stx))
(let-values ([(tail1) (stx-cdr stx)]) ""
(if (stx-null? tail1) (let-values ([(tail1) (stx-cdr stx)])
(if named? (if (stx-null? tail1)
(raise-syntax-error #f "bad syntax (missing name or binding pairs)") (if named?
(raise-syntax-error #f "bad syntax (missing binding pairs)" stx)) "(missing name or binding pairs)"
(if (stx-null? (stx-cdr tail1)) "(missing binding pairs)")
(if named? (if (stx-null? (stx-cdr tail1))
(raise-syntax-error #f "bad syntax (missing binding pairs or body)" stx) (if named?
(raise-syntax-error #f "bad syntax (missing body)" stx)) "(missing binding pairs or body)"
(if named? "(missing body)")
(if (symbol? (syntax-e (stx-car tail1))) (if named?
(if (stx-null? (stx-cdr (stx-cdr tail1))) (if (symbol? (syntax-e (stx-car tail1)))
(raise-syntax-error #f "bad syntax (missing body)" stx) (if (stx-null? (stx-cdr (stx-cdr tail1)))
#f) "(missing body)"
#f) #f)
#f))))) #f)
(raise-syntax-error #f "bad syntax" stx) #f)))))])
(void)) (if maybe-msg
(raise-syntax-error #f (string-append "bad syntax " maybe-msg) stx)
(void)))
(let-values ([(name) (if named? (let-values ([(name) (if named?
(let-values ([(n) (stx-cadr stx)]) (let-values ([(n) (stx-cadr stx)])
(if (symbol? (syntax-e n)) (if (symbol? (syntax-e n))