guile-2.0

Geert Janssens janssens-geert at telenet.be
Fri Feb 10 11:27:14 EST 2012


Op vrijdag 10 februari 2012 16:34:00 schreef RBibrach at t-online.de:
> -----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
> 
> 
> -----Original Message-----
> Date: Fri, 03 Feb 2012 13:36:58 +0100
> Subject: Re: guile-2.0
> From: Geert Janssens <janssens-geert at telenet.be>
> 
> This is also where I stranded so far on Fedora 16, with test packages
> for
> Guile 2.0 installed.
> 
> My guile knowledge is too limited to understand this well. The gnucash
> code
> has a definition for the hash-table procedure. But this should only be
> triggered for guile 1.8 and older.
> 
> Guile 2.0 has its own definition of hash-table. Perhaps these
> definitions are
> not compatible ? I mean, the gnucash guile code was written for guile
> 1.6 and
> 1.8. So perhaps GnuCash interprets hash-table differently in terms of
> 1.8
> while the 2.0 definition may be slightly different ?
> 
> >From what I could read in the guile 2.0 manual it doesn't seem like
> 
> that.
> 
> Geert
> 
> 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.
> 
> 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.
> 
> RBB
> 

Rudolf,

Thanks for figuring this out. I'll play with it one of the next days to see if 
I can come up with a guile 2.0 fix based on your findings.  One thing to keep 
in mind is that guile 1.8 should still be supported as well, so perhaps the 
eval-when (compile ...) constructs may have to be wrapped once again in guile2 
a guile2 only selector.

Geert


More information about the gnucash-devel mailing list