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