From ca2eafbfc404207b4f8d5b1423dc1f7bb48afcef Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Mon, 14 Oct 2019 04:09:22 +0200 Subject: [PATCH] syntax/parse: fix ~between; closes #2856 Please merge to release branch. --- pkgs/racket-test/tests/stxparse/setup.rkt | 1 + pkgs/racket-test/tests/stxparse/test.rkt | 5 +++++ racket/collects/syntax/parse/private/rep.rkt | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test/tests/stxparse/setup.rkt b/pkgs/racket-test/tests/stxparse/setup.rkt index 382956ba57..bd5c7892a4 100644 --- a/pkgs/racket-test/tests/stxparse/setup.rkt +++ b/pkgs/racket-test/tests/stxparse/setup.rkt @@ -16,6 +16,7 @@ bound s= a= + convert-compile-time-error convert-syntax-error) #| diff --git a/pkgs/racket-test/tests/stxparse/test.rkt b/pkgs/racket-test/tests/stxparse/test.rkt index 6eda99ffe1..7590573466 100644 --- a/pkgs/racket-test/tests/stxparse/test.rkt +++ b/pkgs/racket-test/tests/stxparse/test.rkt @@ -1054,3 +1054,8 @@ [(_ (~or (~seq a b c (~parse (d e f) #'(a b c))) (~seq x:id ...))) (void)]))) + +;; from @jjsimpso, ~between pattern (10/2019) +(convert-compile-time-error + (syntax-parse #'(1 2 'bar 4 5 'bar 'foo) + [((~seq (~between x:nat 2 2) ... z) ...+ expr) (void)])) diff --git a/racket/collects/syntax/parse/private/rep.rkt b/racket/collects/syntax/parse/private/rep.rkt index 1264a0398f..f7beb5f75c 100644 --- a/racket/collects/syntax/parse/private/rep.rkt +++ b/racket/collects/syntax/parse/private/rep.rkt @@ -1176,7 +1176,7 @@ [name (options-select-value chunks '#:name #:default #'#f)]) (list (create-ehpat head - (make rep:bounds #'min #'max + (make rep:bounds minN maxN name too-few-msg too-many-msg) #'p) #'p)))]))