gnucash unstable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Mon Feb 19 14:25:25 EST 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/5929bb3b (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4ad23598 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/720acddf (commit)
	from  https://github.com/Gnucash/gnucash/commit/923995f2 (commit)



commit 5929bb3bf8bfa0d0552f37888ffdb2004b740a5b
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Feb 19 11:13:40 2018 -0800

    Move string.scm to qif-imp, the only place it's used.

diff --git a/gnucash/import-export/qif-imp/CMakeLists.txt b/gnucash/import-export/qif-imp/CMakeLists.txt
index cab305c..980586c 100644
--- a/gnucash/import-export/qif-imp/CMakeLists.txt
+++ b/gnucash/import-export/qif-imp/CMakeLists.txt
@@ -38,6 +38,10 @@ INSTALL(TARGETS gncmod-qif-import
 
 # Scheme
 
+SET (qif_import_SCHEME_0
+  string.scm
+  )
+
 SET (qif_import_SCHEME
   qif-dialog-utils.scm
   qif-file.scm
@@ -65,6 +69,13 @@ SET(GUILE_DEPENDS
   scm-gnome-utils
   )
 
+GNC_ADD_SCHEME_TARGETS(scm-qif-import-0
+  "${qif_import_SCHEME_0}"
+  "gnucash/import-export"
+  "${GUILE_DEPENDS}"
+  FALSE
+)
+
 GNC_ADD_SCHEME_TARGETS(scm-qif-import-2
   "${qif_import_SCHEME_2}"
   "gnucash/import-export"
@@ -75,7 +86,7 @@ GNC_ADD_SCHEME_TARGETS(scm-qif-import-2
 GNC_ADD_SCHEME_TARGETS(scm-qif-import
   "${qif_import_SCHEME}"
   "qif-import"
-  "${GUILE_DEPENDS}"
+  "${GUILE_DEPENDS};scm-qif-import-0"
   FALSE
 )
 
diff --git a/gnucash/import-export/qif-imp/qif-dialog-utils.scm b/gnucash/import-export/qif-imp/qif-dialog-utils.scm
index f406a90..bdc9d19 100644
--- a/gnucash/import-export/qif-imp/qif-dialog-utils.scm
+++ b/gnucash/import-export/qif-imp/qif-dialog-utils.scm
@@ -24,6 +24,7 @@
 ;; Boston, MA  02110-1301,  USA       gnu at gnu.org
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+(use-modules (gnucash import-export string))
 
 (define (default-stock-acct brokerage security)
   (string-append brokerage (gnc-get-account-separator-string) security))
diff --git a/gnucash/import-export/qif-imp/qif-file.scm b/gnucash/import-export/qif-imp/qif-file.scm
index 77ecfb6..2a0eb51 100644
--- a/gnucash/import-export/qif-imp/qif-file.scm
+++ b/gnucash/import-export/qif-imp/qif-file.scm
@@ -26,6 +26,7 @@
 
 
 (use-modules (gnucash core-utils))
+(use-modules (gnucash import-export string))
 (use-modules (ice-9 regex))
 (use-modules (srfi srfi-13))
 (use-modules (ice-9 rdelim))
diff --git a/gnucash/import-export/qif-imp/qif-parse.scm b/gnucash/import-export/qif-imp/qif-parse.scm
index 733cae6..5a6ca64 100644
--- a/gnucash/import-export/qif-imp/qif-parse.scm
+++ b/gnucash/import-export/qif-imp/qif-parse.scm
@@ -23,6 +23,8 @@
 ;; Boston, MA  02110-1301,  USA       gnu at gnu.org
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+(use-modules (gnucash import-export string))
+
 (define qif-category-compiled-rexp
   (make-regexp "^ *(\\[)?([^]/|]*)(]?)(/?)([^|]*)(\\|(\\[)?([^]/]*)(]?)(/?)(.*))? *$"))
 
diff --git a/gnucash/import-export/qif-imp/qif-to-gnc.scm b/gnucash/import-export/qif-imp/qif-to-gnc.scm
index 11ea351..5f7e3f1 100644
--- a/gnucash/import-export/qif-imp/qif-to-gnc.scm
+++ b/gnucash/import-export/qif-imp/qif-to-gnc.scm
@@ -26,6 +26,7 @@
 
 
 (use-modules (srfi srfi-13))
+(use-modules (gnucash import-export string))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;  qif-import:find-or-make-acct
diff --git a/gnucash/import-export/qif-imp/string.scm b/gnucash/import-export/qif-imp/string.scm
index c70bf13..0df34b3 100644
--- a/gnucash/import-export/qif-imp/string.scm
+++ b/gnucash/import-export/qif-imp/string.scm
@@ -15,6 +15,7 @@
 ;; 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
 ;; Boston, MA  02110-1301,  USA       gnu at gnu.org
 
+(define-module (gnucash import-export string))
 (use-modules (srfi srfi-13))
 
 
diff --git a/libgnucash/scm/CMakeLists.txt b/libgnucash/scm/CMakeLists.txt
index b0528b4..3f18ccc 100644
--- a/libgnucash/scm/CMakeLists.txt
+++ b/libgnucash/scm/CMakeLists.txt
@@ -1,9 +1,8 @@
 SET(GUILE_DEPENDS      scm-core-utils scm-gnc-module)
-SET(scm_SCHEME   string.scm utilities.scm)
 
 
 GNC_ADD_SCHEME_TARGETS(scm-scm
-  "${scm_SCHEME}"
+  "utilities.scm"
   gnucash
   "${GUILE_DEPENDS}"
   FALSE
@@ -17,7 +16,7 @@ GNC_ADD_SCHEME_TARGETS(price-quotes
   FALSE)
 
 
-SET_LOCAL_DIST(scm_DIST_local CMakeLists.txt ${scm_SCHEME} price-quotes.scm)
+SET_LOCAL_DIST(scm_DIST_local CMakeLists.txt utilities.scm price-quotes.scm)
 SET(scm_DIST ${scm_DIST_local} ${scm_gnumeric_DIST} PARENT_SCOPE)
 
 
diff --git a/libgnucash/scm/utilities.scm b/libgnucash/scm/utilities.scm
index 98f584a..23d26da 100644
--- a/libgnucash/scm/utilities.scm
+++ b/libgnucash/scm/utilities.scm
@@ -34,8 +34,6 @@
 
 (use-modules (gnucash gnc-module))
 
-(load-from-path "gnucash/string")
-
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Exports
 
@@ -44,7 +42,6 @@
 (export gnc:error)
 (export gnc:msg)
 (export gnc:debug)
-(export gnc:safe-strcmp) ;; only used by aging.scm atm...
 
 ;; Do this stuff very early -- but other than that, don't add any
 ;; executable code until the end of the file if you can help it.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2f6d073..24f70dd 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -354,6 +354,7 @@ gnucash/import-export/qif-imp/qif-objects.scm
 gnucash/import-export/qif-imp/qif-parse.scm
 gnucash/import-export/qif-imp/qif-to-gnc.scm
 gnucash/import-export/qif-imp/qif-utils.scm
+gnucash/import-export/qif-imp/string.scm
 gnucash/python/gncmod-python.c
 gnucash/register/ledger-core/gncEntryLedger.c
 gnucash/register/ledger-core/gncEntryLedgerControl.c
@@ -695,7 +696,6 @@ libgnucash/gnc-module/example/gncmod-example.c
 libgnucash/gnc-module/gnc-module.c
 libgnucash/gnc-module/gnc-module.scm
 libgnucash/scm/price-quotes.scm
-libgnucash/scm/string.scm
 libgnucash/scm/utilities.scm
 libgnucash/tax/us/de_DE.scm
 libgnucash/tax/us/gncmod-tax-us.c

commit 4ad23598727147cf9f76664cbd477fea3c805d99
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Feb 19 10:51:42 2018 -0800

    Remove unused functions from utilities.scm
    
    moving safe-strcmp to aging.scm, it's sole use.

diff --git a/libgnucash/scm/string.scm b/gnucash/import-export/qif-imp/string.scm
similarity index 100%
rename from libgnucash/scm/string.scm
rename to gnucash/import-export/qif-imp/string.scm
diff --git a/gnucash/report/business-reports/aging.scm b/gnucash/report/business-reports/aging.scm
index da2bd39..f09e15a 100644
--- a/gnucash/report/business-reports/aging.scm
+++ b/gnucash/report/business-reports/aging.scm
@@ -270,6 +270,16 @@ more than one currency. This report is not designed to cope with this possibilit
 
 
 ;; compare by the total in the buckets
+(define (safe-strcmp a b)
+  (if (and a b)
+      (cond
+       ((string<? a b) -1)
+       ((string>? a b) 1)
+       (else 0))
+      (cond
+       (a 1)
+       (b -1)
+       (else 0))))
 
 (define (compare-total litem-a litem-b)
   (let*  ((company-a (cdr litem-a))
@@ -281,7 +291,7 @@ more than one currency. This report is not designed to cope with this possibilit
 	 (difference-sign (gnc-numeric-compare (gnc-numeric-sub-fixed total-a total-b) (gnc-numeric-zero))))
 	 ;; if same totals, compare by name
 	 (if (= difference-sign 0)
-	     (gnc:safe-strcmp (car litem-a) (car litem-b))
+	     (safe-strcmp (car litem-a) (car litem-b))
 	     difference-sign)))
 
 ;; compare by buckets, oldest first.
@@ -307,7 +317,7 @@ more than one currency. This report is not designed to cope with this possibilit
 	 (difference (driver bucket-a bucket-b)))
 	 ;; if same totals, compare by name
 	 (if (= difference 0)
-	     (gnc:safe-strcmp (car litem-a) (car litem-b))
+	     (safe-strcmp (car litem-a) (car litem-b))
 	     difference)))
 
 
diff --git a/libgnucash/scm/utilities.scm b/libgnucash/scm/utilities.scm
index b99a92a..98f584a 100644
--- a/libgnucash/scm/utilities.scm
+++ b/libgnucash/scm/utilities.scm
@@ -57,21 +57,6 @@
 ;; invalid characters
 (setlocale LC_ALL "")
 
-;;(use-modules (ice-9 statprof))
-
-;; various utilities
-
-(define (gnc:safe-strcmp a b)
-  (if (and a b)
-      (cond
-       ((string<? a b) -1)
-       ((string>? a b) 1)
-       (else 0))
-      (cond
-       (a 1)
-       (b -1)
-       (else 0))))
-
 ;;;; Status output functions.
 
 (define (strify items)
@@ -88,35 +73,3 @@
 
 (define (gnc:debug . items)
   (gnc-scm-log-debug (strify items)))
-
-;; Set up timing functions
-
-(define gnc:*last-time* (gettimeofday))
-
-(define (gnc:timestamp . stuff)
-  (let* ((now (gettimeofday))
-         (delta (+ (- (car now) (car gnc:*last-time*))
-                   (/ (- (cdr now) (cdr gnc:*last-time*)) 1000000))))
-    (gnc:msg stuff "-- Elapsed time: " delta "seconds.")
-    (set! gnc:*last-time* now)))
-
-(define (gnc:shutdown exit-status)
-  (gnc:debug "Shutdown -- exit-status: " exit-status)
-  (exit exit-status)) ;; Temporary Stub until command-line.scm dies
-
-(define (gnc:strip-path path)
-  (let* ((parts-in (string-split path #\/))
-	 (parts-out '()))
-
-    ;; Strip out "." and ".." components
-    ;; Strip out // components
-    (for-each
-     (lambda (part)
-       (cond ((string=? part ".") #f)
-	     ((string=? part "..") (set! parts-out (cdr parts-out)))
-	     ((and (string-null? part) (not (= (length parts-out) 0))) #f)
-	     (else (set! parts-out (cons part parts-out)))))
-     parts-in)
-
-    ;; Put it back together
-    (string-join (reverse parts-out) "/")))

commit 720acddff279dc3c6212f74185156a461b3ce0f2
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Feb 19 10:25:50 2018 -0800

    Restore fin.scm, incorrectly removed earlier.
    
    But put it in app-utils where it's used and load it explicitly.

diff --git a/libgnucash/app-utils/CMakeLists.txt b/libgnucash/app-utils/CMakeLists.txt
index a34b868..755ab1e 100644
--- a/libgnucash/app-utils/CMakeLists.txt
+++ b/libgnucash/app-utils/CMakeLists.txt
@@ -167,6 +167,7 @@ SET (app_utils_SCHEME_1
     options.scm
     prefs.scm
     simple-obj.scm
+    fin.scm
 )
 
 SET(app_utils_SCHEME_3
@@ -198,14 +199,14 @@ GNC_ADD_SCHEME_TARGETS(scm-app-utils-1
 GNC_ADD_SCHEME_TARGETS(scm-app-utils-2
   "${app_utils_SCHEME_2}"
   "gnucash"
-  scm-app-utils-1
+  "scm-app-utils-1"
   FALSE
 )
 
 GNC_ADD_SCHEME_TARGETS(scm-app-utils-3
   "${app_utils_SCHEME_3}"
   ""
-  scm-app-utils-2
+  "scm-app-utils-2"
   FALSE
 )
 
diff --git a/libgnucash/app-utils/app-utils.scm b/libgnucash/app-utils/app-utils.scm
index 326e914..f80776e 100644
--- a/libgnucash/app-utils/app-utils.scm
+++ b/libgnucash/app-utils/app-utils.scm
@@ -21,7 +21,7 @@
       (load-extension "libgncmod-app-utils" "scm_init_sw_app_utils_module"))
 (use-modules (sw_app_utils))
 (use-modules (srfi srfi-1))
-(use-modules (gnucash utilities)) 
+(use-modules (gnucash utilities))
 (use-modules (gnucash gnc-module))
 (use-modules (gnucash gettext))
 
diff --git a/libgnucash/app-utils/fin.scm b/libgnucash/app-utils/fin.scm
new file mode 100644
index 0000000..be56e54
--- /dev/null
+++ b/libgnucash/app-utils/fin.scm
@@ -0,0 +1,187 @@
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2 of
+;; the License, or (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, contact:
+;;
+;; Free Software Foundation           Voice:  +1-617-542-5942
+;; 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
+;; Boston, MA  02110-1301,  USA       gnu at gnu.org
+
+
+;; Financial functions originally used by the mortgage/loan druid,
+;; but useful in scheduled transactions
+;;
+;; Copyright 2002 Joshua Sled <jsled at asynchronous.org>
+;; Update 2012 Frank H. Elenberger <frank.h.ellenberger at gmail.com>
+;;
+
+;; Simple function for testing:
+(define (gnc:foobar val) val)
+
+;; pretty literal copies of similar code from gnumeric-1.0.8, except we want
+;; positive values to be returned (as gnucash will handle the credit/debit
+;; appropriately)
+
+;; interest payment amount:
+(define (gnc:ipmt rate per nper pv fv type)
+  (* -1 (* rate
+           (- 0 (calc-principal pv
+                                (calc-pmt rate nper pv fv type)
+                                rate (- (if (> per nper) nper per) 1)))))
+)
+
+;; principal payment amount:
+(define (gnc:ppmt rate per nper pv fv type)
+  (let* ((pmt (calc-pmt rate nper pv fv type))
+         (ipmt (gnc:ipmt rate per nper pv fv type)))
+    (* -1 (- pmt (* -1 ipmt))))
+)
+
+;; payment amount:
+(define (gnc:pmt rate nper pv fv type)
+  (* -1 (calc-pmt rate nper pv fv type))
+)
+
+;; 2 functions from
+;; http://lists.gnucash.org/pipermail/gnucash-user/2005-February/012964.html
+;; future value of deposits with compound interests:
+(define (gnc:futureValue a r n t)
+    ;; Parameters:
+    ;; a: amount
+    ;; r: interest rate
+    ;; n: frequency per year
+    ;; t: time
+    ;;
+    ;; formula from http://www.riskglossary.com/articles/compounding.htm
+  (* a (expt (+ 1 (/ r n)) (* n t))))
+
+(define (gnc:computeInterestIncrement amount interest periods i)
+  (let ((thisVal (gnc:futureValue amount interest periods i))
+        (prevVal (gnc:futureValue amount interest periods (- i 1))))
+    (- thisVal prevVal)
+  )
+)
+
+;;;;;
+;; below: not-exposed/"private" functions, used by the "public" functions
+;; above.
+;;;;;
+
+(define (calc-pmt rate nper pv fv type)
+  (let ((pvif (calc-pvif rate nper))
+        (fvifa (calc-fvifa rate nper)))
+   (/ (- (* (- 0 pv) pvif) fv)
+      (* fvifa
+         (+ 1.0
+            (* rate type)))))
+)
+
+(define (calc-pvif rate nper)
+  (expt (+ 1 rate) nper)
+)
+
+(define (calc-fvifa rate nper)
+  (/ (- (expt (+ 1 rate) nper) 1) rate)
+)
+
+(define (calc-principal pv pmt rate per)
+  (+ (* pv (expt (+ 1.0 rate) per))
+     (* pmt (/ (- (expt (+ 1 rate) per)
+                  1)
+               rate)))
+)
+
+
+;; This section added in 2005. Ludovic Nicolle
+;; Formula to get the rate for a given period if there are yper in the year
+;; And the official rate is compounded ycomp in the year.
+;; For example, a mortgage being monthly has yper = 12
+;; and if the posted rate is a plain annual rate, then ycomp = 1.
+;; but if the posted rate is compounded semi-annually, as is the case in Canada,
+;; then ycomp = 2.
+;; this function can be used to enter the nominal rate in the formulas, without
+;; pre-calculating the power function below.
+
+(define (gnc:periodic_rate rate yper ycomp)
+  (-  (expt (+ 1.0 (/ rate ycomp)) (/ ycomp yper) )  1.0)
+)
+
+;; the three following functions with prefix gnc:cpd_ are more generic
+;; equivalents of gnc:pmt, gnc:ipmt and gnc:ppmt above, with some differences.
+;; First difference is that they take the annual nominal rate and two yearly
+;; frequencies: rate is annual, not per period (the functions calculate it
+;; themselves) yfreq determines the compounding frequency of the payed/charged
+;; interest ycomp determines the compounding frequency of the annual nominal
+;; rate
+
+;; Second difference is for rounding. My experience shows that all banks do not
+;; use the exact same rounding parameters. Moreover, on top of that situation,
+;; numerical calculations in gnucash using the original gnc:pmt, gnc:ipmt and
+;; gnc:ppmt functions above can also create another set of rounding issues. Both
+;; problems create the "odd-penny imbalance" problem.
+
+;; So the gnc:cpd_Zpmt functions do automatic rounding, the goal being to have
+;; PPMT = PMT - I holding true for all calculated numbers. However, this won't
+;; fix the first problem if your bank can't do proper maths and manual fixing of
+;; transactions will still be required.
+
+;; FIXME: One problem with the rounding procedure in these three functions is
+;; that it is always rounding at the second decimal. This works great with
+;; dollars and euros and a lot of major currencies but might well cause issues
+;; with other currencies not typically divided in 100.  I have not tested
+;; anything else than dollars.
+
+;; If the automatic rounding causes issues for a particular case, one can always
+;; use the equivalence of the cpd_ and non-cpd_ functions, by using
+;; periodic_rate() like this: gnc:cpd_pmt( rate:yfreq:ycomp :nper:pv:fv:type) is
+;; equivalent to gnc:pmt(periodic_rate(rate:yfreq:ycomp):nper:pv:fv:type)
+
+;; On the opposite side, if you want the automatic rounding but don't understand
+;; how to use the cpd_ functions, here is a quick example on how to convert
+;; original gnc:Zpmt function calls. The typical setup is to use 'rate/yfreq' as
+;; the first parameter, so the solution is to simply use yfreq for both yfreq
+;; and ycomp in the gnc:cpd_Zpmt calls, like this: gnc:pmt( rate / yfreq
+;; :nper:pv:fv:type) is equivalent to gnc:cpd_pmt( rate:yfreq:yfreq
+;; :nper:pv:fv:type)
+
+(define (gnc:cpd_ipmt rate yfreq ycomp per nper pv fv type)
+  (* 0.01
+    (round
+      (* -100 (* (gnc:periodic_rate rate yfreq ycomp)
+           (- 0 (calc-principal pv
+                                (calc-pmt (gnc:periodic_rate rate yfreq ycomp) nper pv fv type)
+                                (gnc:periodic_rate rate yfreq ycomp) (- per 1))))
+      )
+    )
+  )
+)
+
+(define (gnc:cpd_ppmt rate yfreq ycomp per nper pv fv type)
+  (let* (
+                (per_rate (gnc:periodic_rate rate yfreq ycomp))
+                (pmt (* -1 (gnc:cpd_pmt rate yfreq ycomp nper pv fv type)))
+                (ipmt (* per_rate (calc-principal pv pmt per_rate (- per 1))))
+        )
+        (
+                * -1  (+ pmt ipmt)
+        )
+  )
+)
+
+(define (gnc:cpd_pmt rate yfreq ycomp nper pv fv type)
+  (* 0.01
+    (round
+      (* -100
+        (calc-pmt (gnc:periodic_rate rate yfreq ycomp) nper pv fv type)
+      )
+    )
+  )
+)
diff --git a/libgnucash/app-utils/gnc-exp-parser.c b/libgnucash/app-utils/gnc-exp-parser.c
index 23b787c..24f0b9e 100644
--- a/libgnucash/app-utils/gnc-exp-parser.c
+++ b/libgnucash/app-utils/gnc-exp-parser.c
@@ -80,6 +80,8 @@ gnc_exp_parser_real_init ( gboolean addPredefined )
     if (parser_inited)
         gnc_exp_parser_shutdown ();
 
+    /* The parser uses fin.scm for financial functions, so load it here. */
+    scm_primitive_load_path(scm_from_utf8_string("fin"));
     variable_bindings = g_hash_table_new (g_str_hash, g_str_equal);
 
     /* This comes after the statics have been initialized. Not at the end! */
diff --git a/libgnucash/app-utils/test/CMakeLists.txt b/libgnucash/app-utils/test/CMakeLists.txt
index 2489498..d49a4c2 100644
--- a/libgnucash/app-utils/test/CMakeLists.txt
+++ b/libgnucash/app-utils/test/CMakeLists.txt
@@ -17,7 +17,9 @@ MACRO(ADD_APP_UTILS_TEST _TARGET _SOURCE_FILES)
   GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS)
 ENDMACRO()
 
-ADD_APP_UTILS_TEST(test-exp-parser test-exp-parser.c)
+GNC_ADD_TEST_WITH_GUILE(test-exp-parser test-exp-parser.c
+  APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS
+ )
 GNC_ADD_TEST_WITH_GUILE(test-link-module-app-utils test-link-module APP_UTILS_TEST_INCLUDE_DIRS APP_UTILS_TEST_LIBS)
 ADD_APP_UTILS_TEST(test-print-parse-amount test-print-parse-amount.cpp)
 # FIXME Why is this test not run ?
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 47fd1c8..2f6d073 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -512,6 +512,7 @@ libgnucash/app-utils/c-interface.scm
 libgnucash/app-utils/config-var.scm
 libgnucash/app-utils/date-utilities.scm
 libgnucash/app-utils/file-utils.c
+libgnucash/app-utils/fin.scm
 libgnucash/app-utils/gettext.scm
 libgnucash/app-utils/gfec.c
 libgnucash/app-utils/gnc-accounting-period.c



Summary of changes:
 gnucash/import-export/qif-imp/CMakeLists.txt       |  13 +-
 gnucash/import-export/qif-imp/qif-dialog-utils.scm |   1 +
 gnucash/import-export/qif-imp/qif-file.scm         |   1 +
 gnucash/import-export/qif-imp/qif-parse.scm        |   2 +
 gnucash/import-export/qif-imp/qif-to-gnc.scm       |   1 +
 .../import-export/qif-imp}/string.scm              |   1 +
 gnucash/report/business-reports/aging.scm          |  14 +-
 libgnucash/app-utils/CMakeLists.txt                |   5 +-
 libgnucash/app-utils/app-utils.scm                 |   2 +-
 libgnucash/app-utils/fin.scm                       | 187 +++++++++++++++++++++
 libgnucash/app-utils/gnc-exp-parser.c              |   2 +
 libgnucash/app-utils/test/CMakeLists.txt           |   4 +-
 libgnucash/scm/CMakeLists.txt                      |   5 +-
 libgnucash/scm/utilities.scm                       |  50 ------
 po/POTFILES.in                                     |   3 +-
 15 files changed, 230 insertions(+), 61 deletions(-)
 rename {libgnucash/scm => gnucash/import-export/qif-imp}/string.scm (99%)
 create mode 100644 libgnucash/app-utils/fin.scm



More information about the gnucash-changes mailing list