1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00

peval: Rectify style.

* module/language/tree-il/optimize.scm (peval): Rename `src' to
  `lv-src', and `src2' to `src'; pass `make-let-values' the right source
  locations.  Reindent `let*'.
This commit is contained in:
Ludovic Courtès 2011-09-21 15:17:56 +02:00
parent d851e32fdc
commit ec6e09bee7

View file

@ -465,19 +465,19 @@ it does not handle <fix> and <let-values>, it should be called before
(if (const? body*)
body
(make-fix src names gensyms vals body))))
(($ <let-values> src producer
($ <lambda-case> src2 req #f #f #f () gensyms body #f))
(($ <let-values> lv-src producer
($ <lambda-case> src req #f #f #f () gensyms body #f))
;; Peval both producer and consumer, then try to inline. If
;; that succeeds, peval again.
(let* ((producer (maybe-unconst producer (loop producer env calls)))
(body (maybe-unconst body (loop body env calls))))
(body (maybe-unconst body (loop body env calls))))
(cond
((inline-values producer src2 req gensyms body)
((inline-values producer src req gensyms body)
=> (lambda (exp) (loop exp env calls)))
(else
(make-let-values
src producer
(make-lambda-case src2 req #f #f #f '() gensyms body #f))))))
(make-let-values lv-src producer
(make-lambda-case src req #f #f #f '()
gensyms body #f))))))
(($ <let-values>)
exp)
(($ <dynwind> src winder body unwinder)