janssens-geert at telenet.be
Sat Dec 15 13:28:18 EST 2012
On 10-02-12 16:34, RBibrach at t-online.de wrote:
> -----Original Message-----
> Date: Fri, 03 Feb 2012 15:40:17 +0100
> Subject: Re: guile-2.0
> From: "RBibrach at t-online.de" <RBibrach at t-online.de>
> To: gnucash-devel at gnucash.org
> 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.???
> 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