Fixed syntax/parse bug:

Syntax classes with keyword arguments were unintentionally requiring all
arguments at an application site to be in alphabetical order.
Added a test for this fix.
This commit is contained in:
Carl Eastlund 2011-07-01 15:32:34 -04:00
parent 59731368fc
commit 97642c1cb6
2 changed files with 8 additions and 2 deletions

View File

@ -46,7 +46,7 @@ An Arity is
(arity-maxpos arity)
(arity-minkws arity)
(arity-maxkws arity)
pos-count keywords)])
pos-count (sort keywords keyword<?))])
(when msg
(proc msg))))
@ -55,7 +55,7 @@ An Arity is
(arity-maxpos arity)
(arity-minkws arity)
(arity-maxkws arity)
pos-count keywords)])
pos-count (sort keywords keyword<?))])
(when msg
(proc msg))))

View File

@ -194,3 +194,9 @@
#:with c #'c0
#:declare c (Nat> (syntax-e #'b0))
(void)])
(define-syntax-class (Nat-Between #:lo lo #:hi hi)
#:description (format "~s <= Nat <= ~s" lo hi)
(pattern x:nat #:when (<= lo (syntax-e #'x) hi)))
(syntax-parse #'5
[(~var _ (Nat-Between #:lo 0 #:hi 10)) (void)])