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