gnucash 2.7.1: ERROR: Unbound variable: gnc-build-dotgnucash-path

Geert Janssens geert.gnucash at kobaltwit.be
Mon Nov 20 14:03:59 EST 2017


Op maandag 20 november 2017 19:48:41 CET schreef Geert Janssens:
> Op maandag 20 november 2017 06:02:20 CET schreef John Ralls:
> > > On Nov 19, 2017, at 8:28 PM, Sébastien de Menten <sdementen at gmail.com>
> > > wrote:
> > > 
> > > btw, how can I keep backward compatibility in this case so that my
> > > reports
> > > work for both gnucash 2.7/2.8 and gnucash 2.6 ?
> > > 
> > > 
> > > On Sun, Nov 19, 2017 at 5:51 PM, Sébastien de Menten
> > > <sdementen at gmail.com
> > > <mailto:sdementen at gmail.com>> wrote: Ok, thanks for the clarification.
> > > 
> > > On Nov 19, 2017 16:05, "John Ralls" <jralls at ceridwen.us
> > > <mailto:jralls at ceridwen.us>>
> wrote:
> > > > On Nov 19, 2017, at 6:20 AM, Sébastien de Menten <sdementen at gmail.com
> > > > <mailto:sdementen at gmail.com>> wrote:
> > > > 
> > > > Not sure if it is a bug with gnucash 2.7.1, but I can't use
> > > > the gnc-build-dotgnucash-path in the config.user as I get an unbound
> > > > variable.
> > > > any clue?
> > > > is this the right list for questions re gnucash 2.7.1 or should I use
> > > > the
> > > > gnucash-user ML ?
> > > 
> > > It’s renamed to gnc-build-userdata-path. See
> > > libgnucash/core-utils/core-utils.scm.
> > > 
> > > Depends on the question. API questions usually belong here.
> > 
> > Please remember to copy the list on all replies.
> > 
> > The pythonic way would be to catch the unbound variable exception and try
> > the other one in the handler.
> > 
> > Regards,
> > John Ralls
> > 
> > _______________________________________________
> > gnucash-devel mailing list
> > gnucash-devel at gnucash.org
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> 
> There was an api change in the way saved reports were stored between 2.4 and
> 2.6. To make the script work on both 2.4 and 2.6 the following construct
> was used:
> 
> (if (defined? 'gnc:restore-report-by-guid-with-custom-template)
> 
> 
> You can use a similar test for this particular case:
> 
> (if (defined? 'gnc-build-userdata-path)
> 
> 
> Regards,
> 
> Geert
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Interestingly half of the example code got stripped somewhere.

I'll try again, adding some quotation characters:

> (let ((path (if (defined? 'gnc-build-userdata-path)
>                 (gnucash-build-userdata-path)
>                 (gnc-dotgnucash-path))	))
>      (do-something-with path))


Geert


More information about the gnucash-devel mailing list