gnucash master: [category-barchart] reinstate match-lambda
Christopher Lam
clam at code.gnucash.org
Tue Jan 14 18:31:56 EST 2020
Updated via https://github.com/Gnucash/gnucash/commit/6b7ef46d (commit)
from https://github.com/Gnucash/gnucash/commit/45cfb893 (commit)
commit 6b7ef46d6aa1e02dc8c2572d3e85d07ab4b9f04c
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Jan 15 07:10:16 2020 +0800
[category-barchart] reinstate match-lambda
diff --git a/gnucash/report/reports/standard/category-barchart.scm b/gnucash/report/reports/standard/category-barchart.scm
index c73f38b21..fdf06a371 100644
--- a/gnucash/report/reports/standard/category-barchart.scm
+++ b/gnucash/report/reports/standard/category-barchart.scm
@@ -658,62 +658,35 @@ developing over time"))
(gnc:report-finished)
document))
-(define-record-type :variant
- (make-variant reportname acct-types intervals? menuname menutip reverse? uuid)
- variant?
- (reportname get-reportname)
- (acct-types get-acct-types)
- (intervals? get-intervals?)
- (menuname get-menuname)
- (menutip get-menutip)
- (reverse? get-reverse?)
- (uuid get-uuid))
-
-(define variants
- (list
- (make-variant reportname-income
- (list ACCT-TYPE-INCOME)
- #t menuname-income menutip-income
- #t category-barchart-income-uuid)
-
- (make-variant reportname-expense
- (list ACCT-TYPE-EXPENSE)
- #t menuname-expense menutip-expense
- #f category-barchart-expense-uuid)
-
- (make-variant reportname-assets
- (list ACCT-TYPE-ASSET ACCT-TYPE-BANK ACCT-TYPE-CASH ACCT-TYPE-CHECKING
- ACCT-TYPE-SAVINGS ACCT-TYPE-MONEYMRKT
- ACCT-TYPE-RECEIVABLE ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL
- ACCT-TYPE-CURRENCY)
- #f menuname-assets menutip-assets
- #f category-barchart-asset-uuid)
-
- (make-variant reportname-liabilities
- (list ACCT-TYPE-LIABILITY ACCT-TYPE-PAYABLE ACCT-TYPE-CREDIT
- ACCT-TYPE-CREDITLINE)
- #f menuname-liabilities menutip-liabilities
- #t category-barchart-liability-uuid)))
-
(for-each
- (lambda (variant)
- (gnc:define-report
- 'version 1
- 'name (get-reportname variant)
- 'report-guid (get-uuid variant)
- 'menu-path (if (get-intervals? variant)
- (list gnc:menuname-income-expense)
- (list gnc:menuname-asset-liability))
- 'menu-name (get-menuname variant)
- 'menu-tip (get-menutip variant)
- 'options-generator (lambda ()
- (options-generator (get-acct-types variant)
- (get-intervals? variant)))
- 'renderer (lambda (report-obj)
- (category-barchart-renderer report-obj
- (get-reportname variant)
- (get-uuid variant)
- (get-acct-types variant)
- (get-intervals? variant)
- (get-reverse? variant)))))
- variants)
+ (match-lambda
+ ((reportname account-types inc-exp? menuname menutip reverse-bal? uuid)
+ (gnc:define-report
+ 'version 1
+ 'name reportname
+ 'report-guid uuid
+ 'menu-path (if inc-exp?
+ (list gnc:menuname-income-expense)
+ (list gnc:menuname-asset-liability))
+ 'menu-name menuname
+ 'menu-tip menutip
+ 'options-generator (lambda () (options-generator account-types inc-exp?))
+ 'renderer (lambda (report-obj)
+ (category-barchart-renderer
+ report-obj reportname uuid account-types inc-exp? reverse-bal?)))))
+ (list
+ ;; reportname, account-types, inc-exp?,
+ ;; menu-reportname, menu-tip, reverse-bal?, uuid
+ (list reportname-income (list ACCT-TYPE-INCOME) #t menuname-income menutip-income #t category-barchart-income-uuid)
+ (list reportname-expense (list ACCT-TYPE-EXPENSE) #t menuname-expense menutip-expense #f category-barchart-expense-uuid)
+ (list reportname-assets
+ (list ACCT-TYPE-ASSET ACCT-TYPE-BANK ACCT-TYPE-CASH ACCT-TYPE-CHECKING
+ ACCT-TYPE-SAVINGS ACCT-TYPE-MONEYMRKT
+ ACCT-TYPE-RECEIVABLE ACCT-TYPE-STOCK ACCT-TYPE-MUTUAL
+ ACCT-TYPE-CURRENCY)
+ #f menuname-assets menutip-assets #f category-barchart-asset-uuid)
+ (list reportname-liabilities
+ (list ACCT-TYPE-LIABILITY ACCT-TYPE-PAYABLE ACCT-TYPE-CREDIT
+ ACCT-TYPE-CREDITLINE)
+ #f menuname-liabilities menutip-liabilities #t category-barchart-liability-uuid)))
+
Summary of changes:
.../report/reports/standard/category-barchart.scm | 89 ++++++++--------------
1 file changed, 31 insertions(+), 58 deletions(-)
More information about the gnucash-changes
mailing list