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)))
#f)
#f)))
(if (if (not (stx-list? stx))
#t
(let-values ([(maybe-msg)
(if (not (stx-list? stx))
""
(let-values ([(tail1) (stx-cdr stx)])
(if (stx-null? tail1)
(if named?
(raise-syntax-error #f "bad syntax (missing name or binding pairs)")
(raise-syntax-error #f "bad syntax (missing binding pairs)" stx))
"(missing name or binding pairs)"
"(missing binding pairs)")
(if (stx-null? (stx-cdr tail1))
(if named?
(raise-syntax-error #f "bad syntax (missing binding pairs or body)" stx)
(raise-syntax-error #f "bad syntax (missing body)" stx))
"(missing binding pairs or body)"
"(missing body)")
(if named?
(if (symbol? (syntax-e (stx-car tail1)))
(if (stx-null? (stx-cdr (stx-cdr tail1)))
(raise-syntax-error #f "bad syntax (missing body)" stx)
"(missing body)"
#f)
#f)
#f)))))
(raise-syntax-error #f "bad syntax" stx)
(void))
#f)))))])
(if maybe-msg
(raise-syntax-error #f (string-append "bad syntax " maybe-msg) stx)
(void)))
(let-values ([(name) (if named?
(let-values ([(n) (stx-cadr stx)])
(if (symbol? (syntax-e n))