mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
partial fix for issue #816
This commit is contained in:
parent
452b9a528d
commit
9fe1e69c23
2 changed files with 9 additions and 5 deletions
|
@ -8,12 +8,12 @@
|
|||
(import (rename (chibi)
|
||||
(define-syntax %define-syntax)
|
||||
(let-syntax %let-syntax)
|
||||
(letrec-syntax %letrec-syntax)
|
||||
make-variable-transformer)
|
||||
(letrec-syntax %letrec-syntax))
|
||||
(only (chibi ast)
|
||||
env-cell macro? macro-aux macro-aux-set!
|
||||
procedure-arity procedure-variadic?
|
||||
procedure-variable-transformer?)
|
||||
procedure-variable-transformer?
|
||||
make-variable-transformer)
|
||||
(only (meta) environment)
|
||||
(srfi 1)
|
||||
(srfi 11)
|
||||
|
|
|
@ -873,8 +873,12 @@
|
|||
(set! count (+ count 1))
|
||||
(rename (string->symbol (string-append s (%number->string count)))))
|
||||
(define (expand-pattern pat tmpl)
|
||||
(let lp ((p (if (pair? pat) (cdr pat) pat))
|
||||
(x (if (pair? pat) (list _cdr _expr) _expr))
|
||||
(define full-match?
|
||||
(or (not (pair? pat))
|
||||
(and (compare (car pat) (rename 'set!))
|
||||
(any (lambda (x) (compare x (rename 'set!))) lits))))
|
||||
(let lp ((p (if full-match? pat (cdr pat)))
|
||||
(x (if full-match? _expr (list _cdr _expr)))
|
||||
(dim 0)
|
||||
(vars '())
|
||||
(k (lambda (vars)
|
||||
|
|
Loading…
Add table
Reference in a new issue