gnucash2 C binary, cashutil and scheme

Neil Williams linux at codehelp.co.uk
Thu Jan 12 18:01:38 EST 2006


On Thursday 12 January 2006 3:11 pm, Derek Atkins wrote:
> There's a difference between "having a C binary" and completely
> replacing the way gnucash works. 

(I'm only looking at overhauling how gnucash *starts*, but I accept it is more 
than you were considering.)

> Right now we have that C binary in 
> G2.  I think making incremental changes to that binary is fine before
> g2.  Just outright replacing it wholesale with something untested and
> by your own admission doesn't work is not something we should do at
> this point in time.

OK, but I'm sure it would work if I could fix the pesky scheme calls!
:-)

(the gui code does work in gpe-expenses which, surprisingly enough, doesn't 
use guile, g-wrap or scheme!!!)
:-))

> > It's safely hidden on the branch so it won't get in anyone's way. I'll
> > find something else if a standalone gnucash2 C binary is not to be part
> > of G2.
>
> Your definition of "standalone g2 C binary" and my definition are very
> very different.  What exists now in SVN matches my definition, i.e.
> /usr/bin/gnucash sets some env variables and calls
> /usr/bin/gnucash-bin which is a C binary.

True. I have long wanted a true C binary to take gnucash from qof_init() 
through to loading the main window, just in C. I accept that scheme will be 
needed at that point but once G2 is out, I would appreciate some help to fix 
the scheme so that we can consider the replacement. I think it'll make it 
easier for new developers to follow the program flow. For now, I'll leave it 
alone.

> >>From another email in this thread you said:
> >
> > Also, it uses the same context as other QOF CLI applications so it
> > can provide a default session that is not based in a static variable
> > in libqof. I should be able to pass that context (containing an
> > input and export session amongst other CLI related variables) to
> > scm_boot_guile and thence to an application-specific static
> > variable, perhaps in the main window code, that will serve as the
> > reference point for other calls to the now deprecated
> > qof_session_get_current_session() and instead use maybe:
> > gnc_get_current_session() or even gnc_get_context();
>
> That's not what I meant by environment.  I meant Scheme Environment.

Yes, I realise that. This was just a BTW, a hint that it could solve a 
separate problem that we have discussed on previous occasions and is already 
deprecated in QOF.

Just to put my own mind at ease: The specific function mentioned in the scheme 
output is debugging. Is that what was gnc-trace? If so, that is already 
enabled PRIOR to scm_boot_guile being called. It may simply be that the 
scheme is finding the code already initialised? maybe? (I have tried to 
implement the complete scheme environment as created by gnucash-env.)

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20060112/bcef2443/attachment.bin


More information about the gnucash-devel mailing list