Fixed rendering of non-dotted pairs in defform

This commit is contained in:
Georges Dupéron 2017-07-20 10:47:36 +02:00
parent 93748ccc7b
commit 45e1d7e4f0

View File

@ -95,13 +95,14 @@
(if (and (identifier? spec) (if (and (identifier? spec)
(free-identifier=? spec #'defined-id)) (free-identifier=? spec #'defined-id))
(datum->syntax #'here '(unsyntax x) spec spec) (datum->syntax #'here '(unsyntax x) spec spec)
(syntax-case spec () (cond
[(a . b) [(syntax? spec) (datum->syntax spec
(datum->syntax spec (loop (syntax-e spec))
(cons (loop #'a) (loop #'b)) spec
spec spec)]
spec)] [(pair? spec) (cons (loop (car spec))
[_ spec]))))]) (loop (cdr spec)))]
[else spec]))))])
#'(with-togetherable-racket-variables #'(with-togetherable-racket-variables
(l.lit ...) (l.lit ...)
([form [defined-id spec]] [form [defined-id spec1]] ... ([form [defined-id spec]] [form [defined-id spec1]] ...