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