Hello list ! I'm using guile 2.0.2.4-17047 in production and noticed a strange problem when my program try to compile some expression ; namely, this exception:
In language/glil/spec.scm: 32: 4 [compile-asm # # ()] In language/glil/compile-assembly.scm: 275: 3 [compile-assembly #] In srfi/srfi-1.scm: 445: 2 [fold #<procedure walk (x store)> #<vlist ()> ...] 445: 1 [fold #<procedure walk (x store)> #<vlist ()> ...] In ice-9/vlist.scm: 422: 0 [vhash-cons 340277174624079928635746076935438991360 2 ...] ice-9/vlist.scm:422:20: In procedure vhash-cons: ice-9/vlist.scm:422:20: In procedure *: Wrong type argument in position 1: #f It works alright when I compile the same expression from the REPL, though, so there is probably something wrong with my program in the first place. But on my dev machine (where I use a guile from the stable-2 branch) it always worked. This seams to be due to the block-growth-factor fluid in vlist.scm, which for some reason has not been set (to 2 by default), for if I change the guilty fluid-ref by: (or (fluid-ref block-growth-factor) 2) then all seams right. block-cons being a macro I might need to import block-growth-factor somewhere? I looked in the git log of stable-2.0 for a bug regarding this but was unable to find it. So I ask here in the hope that someone remember a patch that might have fixed this issue, so that I might have a chance to patch some scm files and get rid of the issue without the trouble if packaging a more recent version of guile? Also, after I changed vlist.scm, I noticed that whenever I try to compile something I got this: ;;; note: source file /usr/share/guile/2.0/ice-9/vlist.scm ;;; newer than compiled /usr/lib/guile/2.0/ccache/ice-9/vlist.go ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /usr/share/guile/2.0/ice-9/vlist.scm ;;; WARNING: compilation of /usr/share/guile/2.0/ice-9/vlist.scm failed: ;;; ERROR: no such language tree-il Google know about this particular problem [1], apparently related to the fact that the compilation process requires the very file it's trying to compile, but I couldn't find a solution to this. But if I'm about to patch stdlib scheme files I also need to deal with this problem, so any idea about this would be welcome as well. [1] http://lists.gnu.org/archive/html/guile-devel/2009-12/msg00033.html