syntax/parse: fixed bug in #:declare with splicing stxclass
svn: r16712
This commit is contained in:
parent
e34e001167
commit
e120f4ded5
|
@ -198,9 +198,8 @@
|
||||||
(for/fold ([decls decls0] [defs null])
|
(for/fold ([decls decls0] [defs null])
|
||||||
([(k v) (in-dict (declenv-table decls0))]
|
([(k v) (in-dict (declenv-table decls0))]
|
||||||
#:when (memq (car v) '(stxclass splicing-stxclass)))
|
#:when (memq (car v) '(stxclass splicing-stxclass)))
|
||||||
(let-values ([(parser description attrs new-defs) (create-aux-def v)])
|
(let-values ([(parser description attrs new-defs splicing?) (create-aux-def v)])
|
||||||
(values (declenv-put-parser decls k parser description attrs
|
(values (declenv-put-parser decls k parser description attrs splicing?)
|
||||||
(eq? (car v) 'splicing-stxclass))
|
|
||||||
(append new-defs defs)))))
|
(append new-defs defs)))))
|
||||||
|
|
||||||
;; create-aux-def : DeclEntry -> (values id id (listof SAttr) (listof stx))
|
;; create-aux-def : DeclEntry -> (values id id (listof SAttr) (listof stx))
|
||||||
|
@ -217,9 +216,10 @@
|
||||||
[(arg ...) args])
|
[(arg ...) args])
|
||||||
(values #'parser #'description (stxclass-attrs sc)
|
(values #'parser #'description (stxclass-attrs sc)
|
||||||
(list #'(define (parser x) (sc-parser x arg ...))
|
(list #'(define (parser x) (sc-parser x arg ...))
|
||||||
#'(define (description) (description arg ...)))))
|
#'(define (description) (description arg ...)))
|
||||||
|
(stxclass/h? sc)))
|
||||||
(values #'sc-parser #'sc-description (stxclass-attrs sc)
|
(values #'sc-parser #'sc-description (stxclass-attrs sc)
|
||||||
null))))))
|
null (stxclass/h? sc)))))))
|
||||||
|
|
||||||
(define (append-lits+litsets lits litsets)
|
(define (append-lits+litsets lits litsets)
|
||||||
(define seen (make-bound-id-table lits))
|
(define seen (make-bound-id-table lits))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user