1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

fix errors in (language scheme translate) introduced in pmatchification

* module/language/scheme/translate.scm (trans-pair): Fix some errors
  introduced in pmatchification.
This commit is contained in:
Andy Wingo 2008-05-04 14:28:16 +02:00
parent 024e186230
commit 9f8ec6eb1f

View file

@ -190,7 +190,7 @@
((define define-private) ;; what is define-private?
(pmatch tail
;; (define NAME VAL)
((,sym ,val) (guard (symbol? sym))
((,name ,val) (guard (symbol? name))
(make-ghil-define e l (ghil-lookup e name) (trans:x val)))
;; (define (NAME FORMALS...) BODY...)
@ -259,9 +259,8 @@
;; (let ((SYM VAL) ...) BODY...)
((,bindings . ,body) (guard (valid-bindings? bindings))
(let ((vars (map car bindings))
(vals (map trans:x (map cadr bindings))))
(call-with-ghil-bindings e sym
(let ((vals (map trans:x (map cadr bindings))))
(call-with-ghil-bindings e (map car bindings)
(lambda (vars)
(make-ghil-bind e l vars vals (trans:body body))))))
(else (bad-syntax))))
@ -328,7 +327,7 @@
(let () (void) ,@result)
(let () (void) ,@body
(_l ,@(map next sym update)))))))
(_l ,@init)))))
(_l ,@val)))))
(else (bad-syntax))))
;; (lambda FORMALS BODY...)