mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-05 23:20:38 +02:00
* module/language/tree-il/compile-glil.scm (flatten): Fix compilation of loops within loops in non-tail positions. Will add a test case soon, but one way to reproduce it was with the following function: (define (test) (let lp () (pk 'zero) (let ((fk (lambda () (let ((fk2 (lambda () (pk 'two)))) (let ((fk3 (lambda () (if #t (pk 'three) (fk2))))) (if #t (fk3) (fk2))))))) (pk 'one) (fk)) (lp))) One would expect to see a sequence of "zero one three", but in fact zero only showed once. This should fix simplex as well. |
||
---|---|---|
.. | ||
ice-9 | ||
language | ||
oop | ||
rnrs | ||
scripts | ||
srfi | ||
system | ||
Makefile.am |