--On June 19, 2010 10:07:46 PM +0200 Christian Stimming
<stimm...@tuhh.de> wrote:
Am Saturday 19 June 2010 schrieb Herbert Thoma:
Hi,
after updating from svn piecharts are broken for me.
Piecharts worked before, the last update was about a week ago.
That one goes on me (r19253, r19252), sorry for that. I hope I have
disabled enough the new feature now (in r19280). Seems to me I might
still have messed up the Scheme case-syntax in date-utilities.scm,
(define (gnc:date-get-fraction-func interval)
(case interval
('YearDelta gnc:date-to-year-fraction)
('MonthDelta gnc:date-to-month-fraction)
('WeekDelta gnc:date-to-week-fraction)
('DayDelta gnc:date-to-day-fraction)
(else #f)))
and my intention was that if "interval" has the value #f or 'None,
this statement should return #f, but for the four other symbols it
should return the values of the other variables. However, the error
message indicates this isn't the correct syntax for the else-branch
if "interval" had the value 'None :
In file
"/usr/local/share/gnucash/scm/date-utilities.scm", line 191: Bad case
labels #...@else in expression (case interval ((quote YearDelta)
gnc:date-to-year-fraction) ((quote MonthDelta)
gnc:date-to-month-fraction) ((quote WeekDelta)
gnc:date-to-week-fraction) ((quote DayDelta)
gnc:date-to-day-fraction) (#...@else #f)).
Some Scheme help, anyone?
I think you need parens around the selectors in the case clauses. I
haven't tested this, but something like this might work:
(define (gnc:date-get-fraction-func interval)
(case interval
(('YearDelta) gnc:date-to-year-fraction)
(('MonthDelta) gnc:date-to-month-fraction)
(('WeekDelta) gnc:date-to-week-fraction)
(('DayDelta) gnc:date-to-day-fraction)
(else #f)))
It uses this syntax because you can have more than one selector in a
single clause.
Mike
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel