Make let-kw-form more portable to other syntax-case schemes
* goof.scm (let-kw-form): don't use guile-specific with-ellipsis.
This commit is contained in:
parent
050f88d678
commit
f5a3629b56
1 changed files with 3 additions and 4 deletions
7
goof.scm
7
goof.scm
|
@ -206,18 +206,17 @@
|
|||
((_ macro-name final-fun (user-finals ...) (loop-name (var step) ...) . body)
|
||||
(let-syntax ((macro-name
|
||||
(lambda (stx)
|
||||
(with-ellipsis :::
|
||||
(let loop ((lst (cdr (syntax->list stx)))
|
||||
(params (list #'(var step) ...)))
|
||||
(if (null? lst)
|
||||
(with-syntax ((((v s) :::) params))
|
||||
(with-syntax ((((v s) (... ...)) params))
|
||||
#'(inner-recur loop-name final-fun
|
||||
(user-finals ...)
|
||||
((v s) :::)))
|
||||
((v s) (... ...))))
|
||||
(syntax-case (car lst) (=>)
|
||||
((=> name val)
|
||||
(loop (cdr lst) (update-name params #'name #'val)))
|
||||
(_ (error "Malformed looping clause in macro")))))))))
|
||||
(_ (error "Malformed looping clause in macro"))))))))
|
||||
. body))))
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue