Geert Janssens janssens-geert at
Sat Dec 15 13:28:18 EST 2012

On 10-02-12 16:34, RBibrach at wrote:
> -----Original Message-----
> Date: Fri, 03 Feb 2012 15:40:17 +0100
> Subject: Re: guile-2.0
> From: "RBibrach at" <RBibrach at>
> To: gnucash-devel at
> according to the manual guile provides two types of hashtables one
> "abstract" type and one vectorlike type. May be that mixing both types
> was allowed in guile 1.8 but not longer in 2.0
> In file html-style-info.scm a vector type table was created. The lines
> for the abstract type are outcommented. May be that the hanging
> hash-fold should be replaced by a construction similare to kvt-fold.???
> Rudolf
> In the file html-document.scm line 292 I have replaced hash-fold with
> kvt-fold so that this line reads now:
>   (if attr (kvt-fold add-attribute  #f attr))
> The reports are working now!!
> Obviously guile-2 has different sorts of hashtables.
Your suggestion about incompatible hashtable types was invaluable to get 
me past this crasher.

GnuCash was mixing a custom hash datatype (kvt-hash) with a guile proper 
hash type. Apparently in guile 1.8 the internal representation was 
compatible enough to get away with this. In guile 2 this obviously 
changed. I decided to fix it in the other direction though: I have 
thrown out our custom hash datatype. It was only used in one file and I 
couldn't see any obvious benefits in it.

Thanks a lot for guiding me in the right direction !
> Starting gnucash within the console will result in a new compile process
> for the guile files. Besides masses of warnings there are some errors
> relating missing "sw_***" files The lines "(load-extension ......)" in
> file core-utils.scm, gnc-module.scm and qif-import.scm should be
> replaced with (eval-when (compile load eval) (load-extension...)). In
> file app-utils.scm it should read (eval-whwn (compile load eval)
> (gnc:module-load "gnucash/engine" 0)).
> One error in business-reports.scm remains : unbound variable:
> gnc:menuname-business-reports which I do not understand??? But as long
> gnucash does not use these compiled files it is not very relevant.
I still have to go into this, but again a very good starting point !


More information about the gnucash-devel mailing list