gnucash master: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Mon Nov 25 07:39:13 EST 2019
Updated via https://github.com/Gnucash/gnucash/commit/6c3b24a9 (commit)
via https://github.com/Gnucash/gnucash/commit/ea9d5fb1 (commit)
via https://github.com/Gnucash/gnucash/commit/0973d54d (commit)
via https://github.com/Gnucash/gnucash/commit/9adf8db1 (commit)
via https://github.com/Gnucash/gnucash/commit/aa451bc8 (commit)
via https://github.com/Gnucash/gnucash/commit/d6a5c8ba (commit)
via https://github.com/Gnucash/gnucash/commit/a261c8aa (commit)
via https://github.com/Gnucash/gnucash/commit/91183a2a (commit)
via https://github.com/Gnucash/gnucash/commit/e83f5b05 (commit)
via https://github.com/Gnucash/gnucash/commit/287b857a (commit)
via https://github.com/Gnucash/gnucash/commit/729bf5ae (commit)
via https://github.com/Gnucash/gnucash/commit/101cc916 (commit)
via https://github.com/Gnucash/gnucash/commit/68b0abdf (commit)
via https://github.com/Gnucash/gnucash/commit/17d39388 (commit)
via https://github.com/Gnucash/gnucash/commit/5586ccaa (commit)
via https://github.com/Gnucash/gnucash/commit/6897f13e (commit)
via https://github.com/Gnucash/gnucash/commit/063a2704 (commit)
via https://github.com/Gnucash/gnucash/commit/b3493509 (commit)
via https://github.com/Gnucash/gnucash/commit/dda3da84 (commit)
via https://github.com/Gnucash/gnucash/commit/f0a189ad (commit)
via https://github.com/Gnucash/gnucash/commit/26718142 (commit)
via https://github.com/Gnucash/gnucash/commit/1ab95b55 (commit)
from https://github.com/Gnucash/gnucash/commit/21f05339 (commit)
commit 6c3b24a9b6b517c9a73cfd8bcf61c26a687ad864
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 20:38:16 2019 +0800
[html-style-info] remove font-face/size/color from style-info
These were unused in real code.
commit ea9d5fb197f67483e0502b0fba05681d3e8053dc
Merge: 21f053398 0973d54d6
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 19:45:26 2019 +0800
Merge branch 'maint'
commit 0973d54d6cb50772de05b4f3ab607e0644ebeb13
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Mon Nov 25 08:07:11 2019 +0800
[report-utilities] make gnc:owner-splits->aging-list less noisy
invoice processing messages dumped in debug mode. use gnc:msg
commit 9adf8db1a2910f637d5773ae3f4ff34d1a7b317a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:01:04 2019 +0800
[report-utilities] gnc:strify can render vectors too
commit aa451bc89d5d1a5a1e66df4501e90e533683cb0b
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:57:00 2019 +0800
[balsheet-pnl] compact functions
readability fixes
commit d6a5c8ba5409138901bf451588531827d31172b3
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 21:38:42 2019 +0800
[balsheet-pnl] accumulate column data report-dates
Previous would call gnc:account-get-balances-at-dates and
gnc:account-accumulate-at-dates to retrieve balances and
last-split. This commit reduces the O(2*N) operation to O(N) which
becomes significant with accounts with large number of splits.
Maybe we can reduce other account splitlist scans in the future; these
will be easier and would only require augmenting the record.
commit a261c8aadb7904f6a7e0143290d2d82e87a09d86
Merge: e83f5b056 91183a2af
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date: Mon Nov 25 07:14:05 2019 +0100
Merge branch 'emacs' into maint
commit 91183a2af51858b6a252edc47372c944c0cd82b7
Author: Frank H. Ellenberger <frank.h.ellenberger at gmail.com>
Date: Mon Nov 25 00:42:40 2019 +0100
drop emacs_trailer from xml files.
Modern versions of emacs know, how to behave on xml files.
commit e83f5b05688db27ac6b7d4298c7fd084004abb51
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 24 09:49:14 2019 +0800
Bug 797506 - New Aging errors out with guile backtrace in case of a few uncommon transactions
Some invalid txns with splits in the wrong APAR account can be
processed, creating cases whereby split->owner returns an invalid
freshly-allocated owner.
commit 287b857a1839d37408bcabfe650d07a365b1096a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Nov 23 22:32:19 2019 +0800
[html-style-info] deprecate font-face/size/color
Only 'font-color was demonstrated in hello-world.scm, and these were
never used in practice.
commit 729bf5ae6aa17a3ef9ec416cb0134c2b94f7ace1
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sat Nov 23 22:28:33 2019 +0800
[hello-world] remove 'Text Color' option - will be deprecated
... because deleting an option does not cause crash in saved-reports.
commit 101cc91698279a661ca89310f4a404ee211faf14
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Nov 22 23:38:22 2019 +0800
[reports] use new api gnc:account-accumulate-at-dates
queries xaccSplitGetNoclosingBalance (which is a pointer dereference)
instead of a more complex conditional-based snippet for split->amount,
should be faster.
The category-barchart change will choose the appropriate split->elt
function according to the account type. This is more efficient than
the old split->amount function which includes a conditional.
Note we don't need to test for account being income/expense:
asset/liability accounts do not have Closing transactions. Therefore
we can use xaccSplitGetNoclosingBalance for splits from any account
type.
commit 68b0abdfa6a51f317159167bb9259d4a45290afc
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Fri Nov 22 23:28:33 2019 +0800
[report-utilities] gnc:account-accumulate-at-dates: specify default elt
if acc has no splits before report-date, the nosplit->elt will specify
the default value to be inserted in the result list.
e.g. consider:
dates are (date1 date2 date3 date4 date5)
account has splits starting after date2:
(gnc:account-accumulate-at-dates account dates
#:split->elt (const 'yea) #:nosplit->elt 'nay)
results in '(nay nay yea yea yea)
commit 17d39388660c45b302d2ba02ec7e2981ee0ee8dc
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:35:46 2019 +0000
[I18N] Remove trailing colon and space from source file dialogue labels
commit 5586ccaa5f724bb70ef6450910dae8ec9e814266
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:34:46 2019 +0000
[I18N] Remove trailing colon and space from glade dialogue labels - part2
commit 6897f13e782da46ef0623cfb8cab553c3b967d28
Author: Robert Fewell <14uBobIT at gmail.com>
Date: Mon Nov 18 17:34:21 2019 +0000
[I18N] Remove trailing colon and space from glade dialogue labels - part1
commit 063a2704995029cdc7f331e2d4d11c2cd8dbfdbf
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 20:30:16 2019 +0800
[new-owner-report] fix: payment->invoice gets invoice totals
previously the payment-amount deduction loop used the
payment-split-list to obtain the invoice-posting-split's amount. this
would occasionally fail and would return the invoice-payment-split
amount, obtaining the wrong sign.
modify to retrieve the invoice total via gncInvoice API.
therefore payment-amount, minus gncInvoiceGetTotal(inv) amounts,
results in the overpayment amount.
commit b3493509d19f25de3498530e5409fd2559a9e6ff
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 09:57:51 2019 +0800
[balsheet-pnl] speed up by pre-generating account report-date splits
previous code was very inefficient: if an account had N old splits and
balance-sheet reported on M recent dates, it would scan splitlist
multiple times: (1) to retrieve splits, (2) filter until
column-date, (3) find the last one. i.e. total O(N * M * 3).
this algorithm pre-generates the account's report-date splits by
scanning each account only once, creating M splits which are queried
by get-cell-anchor-fn via list-ref. i.e. O(N)
it is immedialtely converted to a vector because we want O(1)
access. from get-cell-anchor-fn
a future optimisation may scan the accounts' splitlists once per
report run, acquiring all required data (i.e. last period split,
split->balance, closing entries) in 1 pass, to generate a column-data
record.
commit dda3da841604c9a5b3aebcec8de5b0ca1b68a446
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 12:20:57 2019 +0800
[report-utilities][API] gnc:account-accumulate-at-dates
this is a generalised form from gnc:account-get-balances-at-dates to
accumulate a list from report dates.
this function will scan through account splitlist, processing each
split via split->elt, accumulating results at date boundaries into the
results list. it uses ice-9 match for conciseness.
in: acc - account
dates - a list of time64
split->elt - an unary lambda. the result of calling (split->elt split)
will be accumulated onto the resulting list. by
default it returns the last split-balance before
date boundary, similar to gnc:account-get-balances-at-dates
out: (list elt0 elt1 ...), each entry is the result of split->elt
commit f0a189adbbe5ab9e66c0a76f7fa82c9969bb1b6a
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Thu Nov 21 11:51:05 2019 +0800
[test-report-utilities] add test-get-account-at-dates
commit 267181425178bea6fc160bbf6e60687fcae298ca
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Nov 20 21:00:14 2019 +0800
[balsheet-pnl] income statement parent account can link to TR
this commit modifies the recursive-parent subtotal generator to also
include a link to a transaction report with all relevant accounts.
commit 1ab95b5563d3de766f1680d6aac60b2fedfb7833
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Wed Nov 20 00:13:42 2019 +0800
[invoice][i18n] enable i18n options helptext
and remove obsolete options "My Company" and "My Company ID"
Summary of changes:
gnucash/gnome-utils/dialog-account.c | 2 +-
gnucash/gnome-utils/dialog-commodity.c | 8 +-
gnucash/gnome-utils/dialog-dup-trans.c | 2 +-
gnucash/gnome-utils/dialog-options.c | 65 +++--------
gnucash/gnome-utils/dialog-transfer.c | 4 +-
gnucash/gnome-utils/gnc-dense-cal.c | 2 +-
gnucash/gnome-utils/gnc-frequency.h | 4 +-
gnucash/gnome/assistant-acct-period.c | 4 +-
gnucash/gnome/business-options-gnome.c | 7 +-
gnucash/gnome/gnc-split-reg.c | 6 +-
gnucash/gnome/window-reconcile.c | 12 +-
gnucash/gnome/window-reconcile2.c | 12 +-
gnucash/gtkbuilder/assistant-acct-period.glade | 5 +-
gnucash/gtkbuilder/assistant-csv-export.glade | 10 +-
gnucash/gtkbuilder/assistant-loan.glade | 44 ++++----
gnucash/gtkbuilder/assistant-qif-import.glade | 18 +--
gnucash/gtkbuilder/assistant-stock-split.glade | 14 +--
gnucash/gtkbuilder/assistant-xml-encoding.glade | 2 +-
gnucash/gtkbuilder/business-prefs.glade | 6 +-
gnucash/gtkbuilder/dialog-account.glade | 46 ++++----
gnucash/gtkbuilder/dialog-billterms.glade | 21 ++--
gnucash/gtkbuilder/dialog-book-close.glade | 9 +-
gnucash/gtkbuilder/dialog-commodity.glade | 26 ++---
gnucash/gtkbuilder/dialog-customer.glade | 38 ++++---
gnucash/gtkbuilder/dialog-employee.glade | 28 +++--
gnucash/gtkbuilder/dialog-file-access.glade | 2 +-
gnucash/gtkbuilder/dialog-fincalc.glade | 10 +-
gnucash/gtkbuilder/dialog-import.glade | 10 +-
gnucash/gtkbuilder/dialog-invoice.glade | 10 +-
gnucash/gtkbuilder/dialog-preferences.glade | 36 +++---
gnucash/gtkbuilder/dialog-price.glade | 22 ++--
gnucash/gtkbuilder/dialog-print-check.glade | 26 ++---
gnucash/gtkbuilder/dialog-report.glade | 8 +-
gnucash/gtkbuilder/dialog-sx.glade | 27 ++---
gnucash/gtkbuilder/dialog-tax-info.glade | 4 +-
gnucash/gtkbuilder/dialog-tax-table.glade | 8 +-
gnucash/gtkbuilder/dialog-totd.glade | 2 +-
gnucash/gtkbuilder/dialog-transfer.glade | 18 +--
gnucash/gtkbuilder/dialog-userpass.glade | 4 +-
gnucash/gtkbuilder/dialog-vendor.glade | 24 ++--
gnucash/gtkbuilder/gnc-date-format.glade | 10 +-
gnucash/gtkbuilder/gnc-frequency.glade | 21 ++--
gnucash/gtkbuilder/gnc-plugin-page-budget.glade | 25 +++--
gnucash/gtkbuilder/gnc-plugin-page-register.glade | 18 +--
gnucash/gtkbuilder/gnc-plugin-page-register2.glade | 14 +--
gnucash/gtkbuilder/gnc-recurrence.glade | 3 +-
gnucash/gtkbuilder/window-autoclear.glade | 4 +-
gnucash/gtkbuilder/window-reconcile.glade | 8 +-
.../import-export/qif-imp/assistant-qif-import.c | 6 +-
gnucash/report/html-document.scm | 28 +----
gnucash/report/html-style-info.scm | 63 +----------
gnucash/report/report-utilities.scm | 124 ++++++++++++---------
gnucash/report/report.scm | 13 +--
gnucash/report/reports/example/hello-world.scm | 11 +-
gnucash/report/reports/standard/balsheet-pnl.scm | 109 ++++++++++++------
.../report/reports/standard/category-barchart.scm | 23 ++--
gnucash/report/reports/standard/invoice.scm | 11 +-
gnucash/report/reports/standard/net-charts.scm | 14 +--
gnucash/report/reports/standard/new-aging.scm | 40 ++++++-
.../report/reports/standard/new-owner-report.scm | 3 +-
.../report/reports/standard/test/test-invoice.scm | 5 +-
gnucash/report/test/test-report-utilities.scm | 96 ++++++++++++++++
libgnucash/backend/xml/io-example-account.cpp | 2 -
libgnucash/backend/xml/io-gncxml-v2.cpp | 8 +-
libgnucash/backend/xml/io-utils.cpp | 19 +---
libgnucash/backend/xml/io-utils.h | 2 -
66 files changed, 663 insertions(+), 623 deletions(-)
More information about the gnucash-patches
mailing list