mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
don't include underscore in ellipsis pattern vars (issue #421)
This commit is contained in:
parent
c80a1ece92
commit
db186784e3
2 changed files with 8 additions and 1 deletions
|
@ -829,7 +829,8 @@
|
|||
(define (all-vars x dim)
|
||||
(let lp ((x x) (dim dim) (vars '()))
|
||||
(cond ((identifier? x)
|
||||
(if (any (lambda (lit) (compare x lit)) lits)
|
||||
(if (or (any (lambda (lit) (compare x lit)) lits)
|
||||
(compare x _underscore))
|
||||
vars
|
||||
(cons (cons x dim) vars)))
|
||||
((ellipsis? x) (lp (car x) (+ dim 1) (lp (cddr x) dim vars)))
|
||||
|
|
|
@ -473,6 +473,12 @@
|
|||
((foo _) '_)))
|
||||
(test '_ (underscore foo))
|
||||
|
||||
(let ()
|
||||
(define-syntax underscore2
|
||||
(syntax-rules ()
|
||||
((underscore2 (a _) ...) 42)))
|
||||
(test 42 (underscore2 (1 2))))
|
||||
|
||||
(define-syntax count-to-2
|
||||
(syntax-rules ()
|
||||
((_) 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue