syntax/parse: Fix syntax instead of quote-syntax in def-litset

fixes #2673
This commit is contained in:
Alexis King 2019-06-01 23:47:05 -05:00
parent a4545594f6
commit 88b00d75f7
2 changed files with 12 additions and 1 deletions

View File

@ -124,3 +124,14 @@
(check-equal? (kernel? #'define-values 4) #f)
(check-equal? (kernel? #'foo) #f)
(void)))
;; Litsets with `...`
(let ()
(define-literal-set lits #:phase 0 ([ooo ...]))
(test-case "litset, `...` ok"
(syntax-parse (quote-syntax ...) #:literal-sets (lits)
[ooo (void)]))
(tcerr "litset, `...` fails"
(syntax-parse #'ooo #:literal-sets (lits)
[ooo (void)])))

View File

@ -176,7 +176,7 @@
'datum-external)
...))))
(begin-for-syntax/once
(for ([x (in-list (syntax->list #'(external ...)))])
(for ([x (in-list (list (quote-syntax external) ...))])
(unless (identifier-binding x 'relphase)
(raise-syntax-error #f
(format "literal is unbound in phase ~a~a~a"