gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Sun Feb 5 09:20:39 EST 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/9c87585d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/68cd8cfa (commit)
	from  https://github.com/Gnucash/gnucash/commit/928f4f62 (commit)



commit 9c87585d4eaddf314b439afd387b722e00d22cd7
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 5 17:25:52 2023 +0800

    Bug 798747 - Crash in Investment Portfolio report
    
    add support for pricedb-before in portfolio reports

diff --git a/gnucash/report/reports/standard/advanced-portfolio.scm b/gnucash/report/reports/standard/advanced-portfolio.scm
index 7a71127a7..be4f50bae 100644
--- a/gnucash/report/reports/standard/advanced-portfolio.scm
+++ b/gnucash/report/reports/standard/advanced-portfolio.scm
@@ -1026,6 +1026,11 @@ by preventing negative stock balances.<br/>")
                    (lambda (foreign domestic date)
                     (find-price (gnc-pricedb-lookup-latest-any-currency pricedb foreign)
                                 domestic)))
+                  ((pricedb-before)
+                   (lambda (foreign domestic date)
+                    (find-price (gnc-pricedb-lookup-nearest-before-any-currency-t64
+		                 pricedb foreign (time64CanonicalDayTime date))
+                                domestic)))
                   ((pricedb-nearest)
                    (lambda (foreign domestic date)
                     (find-price (gnc-pricedb-lookup-nearest-in-time-any-currency-t64
diff --git a/gnucash/report/reports/standard/portfolio.scm b/gnucash/report/reports/standard/portfolio.scm
index 5a92db58d..5a0b547f0 100644
--- a/gnucash/report/reports/standard/portfolio.scm
+++ b/gnucash/report/reports/standard/portfolio.scm
@@ -229,6 +229,16 @@
                                         (cons #f (gnc-numeric-zero)))))
                        (if price (gnc-price-list-destroy price))
                        fn)))
+                  ((pricedb-before)
+                   (lambda (foreign date)
+                     (let ((price (gnc-pricedb-lookup-nearest-before-any-currency-t64
+                                   pricedb foreign (time64CanonicalDayTime date))))
+                       (cond
+                        ((null? price) (cons #f 0))
+                        (else (let ((p (car price)))
+                                (gnc-price-ref p)
+                                (gnc-price-list-destroy price)
+                                (cons p (gnc-price-get-value p))))))))
                   ((pricedb-nearest)
                    (lambda (foreign date)
                      (let*  ((price

commit 68cd8cfa2c41ae754a937fed7abd8b830ac2e8c6
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Feb 5 17:24:49 2023 +0800

    [portfolio] remove unused the_price

diff --git a/gnucash/report/reports/standard/portfolio.scm b/gnucash/report/reports/standard/portfolio.scm
index 020e867de..5a92db58d 100644
--- a/gnucash/report/reports/standard/portfolio.scm
+++ b/gnucash/report/reports/standard/portfolio.scm
@@ -235,13 +235,7 @@
                              (gnc-pricedb-lookup-nearest-in-time-any-currency-t64
                               pricedb foreign (time64CanonicalDayTime date)))
                             (fn (if (and price (> (length price) 0))
-                                    (let* ((the_price
-                                            (if (gnc-commodity-equiv
-                                                 foreign
-                                                 (gnc-price-get-commodity (car price)))
-                                                (car price)
-                                                (gnc-price-invert (car price))))
-                                           (v (gnc-price-get-value (car price))))
+                                    (let* ((v (gnc-price-get-value (car price))))
                                            (gnc-price-ref (car price))
                                            (cons (car price) v))
                                          (cons #f (gnc-numeric-zero)))))



Summary of changes:
 gnucash/report/reports/standard/advanced-portfolio.scm |  5 +++++
 gnucash/report/reports/standard/portfolio.scm          | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)



More information about the gnucash-changes mailing list