avoid redundant syntax-property propagation

Insteda of propagating a property manually, allow the
`syntax-track-origin` operation in macro expansion to do it.
Otherwise, properties turn into pairs of duplicate values.
This commit is contained in:
Matthew Flatt 2015-04-03 18:03:37 -05:00
parent 50ff92b784
commit f9ffdeeb20

View File

@ -34,7 +34,7 @@
(lambda (stx) (lambda (stx)
(let-values ([(here) (quote-syntax here)]) (let-values ([(here) (quote-syntax here)])
(if (symbol? (syntax-e stx)) (if (symbol? (syntax-e stx))
(datum->syntax here 'new-apply-proc stx stx) (datum->syntax here 'new-apply-proc stx)
(let-values ([(l) (syntax->list stx)]) (let-values ([(l) (syntax->list stx)])
(let-values ([(app) (if (if l (let-values ([(app) (if (if l
(ormap (lambda (x) (keyword? (syntax-e x))) l) (ormap (lambda (x) (keyword? (syntax-e x))) l)
@ -46,7 +46,6 @@
stx stx
(cons (datum->syntax here app fst fst) (cons (datum->syntax here app fst fst)
(cdr (syntax-e stx))) (cdr (syntax-e stx)))
stx
stx))))))) stx)))))))
(define-values (new-keyword-apply) (define-values (new-keyword-apply)