From 88b00d75f763b5de32853833157bd1ab88761b4e Mon Sep 17 00:00:00 2001 From: Alexis King Date: Sat, 1 Jun 2019 23:47:05 -0500 Subject: [PATCH] syntax/parse: Fix `syntax` instead of `quote-syntax` in `def-litset` fixes #2673 --- pkgs/racket-test/tests/stxparse/test-litset.rkt | 11 +++++++++++ racket/collects/syntax/parse/private/litconv.rkt | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test/tests/stxparse/test-litset.rkt b/pkgs/racket-test/tests/stxparse/test-litset.rkt index c89bedb335..3bb48d9eff 100644 --- a/pkgs/racket-test/tests/stxparse/test-litset.rkt +++ b/pkgs/racket-test/tests/stxparse/test-litset.rkt @@ -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)]))) diff --git a/racket/collects/syntax/parse/private/litconv.rkt b/racket/collects/syntax/parse/private/litconv.rkt index 9197505856..772930c301 100644 --- a/racket/collects/syntax/parse/private/litconv.rkt +++ b/racket/collects/syntax/parse/private/litconv.rkt @@ -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"