gnucash maint: Multiple changes pushed
Christopher Lam
clam at code.gnucash.org
Sun Nov 22 08:57:36 EST 2020
Updated via https://github.com/Gnucash/gnucash/commit/72982de5 (commit)
via https://github.com/Gnucash/gnucash/commit/8b5dd55d (commit)
from https://github.com/Gnucash/gnucash/commit/b67bf4b7 (commit)
commit 72982de588f5a495c7a927cf02d8d3347d890fe4
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 22 21:56:42 2020 +0800
Revert "[date-utilities] Convert reldate list into srfi-9 records"
This reverts commit 3be79359651eea57d417d57eaec97976f0b3fbbe.
diff --git a/libgnucash/app-utils/date-utilities.scm b/libgnucash/app-utils/date-utilities.scm
index 7fdfa0bbe..6d7faae88 100644
--- a/libgnucash/app-utils/date-utilities.scm
+++ b/libgnucash/app-utils/date-utilities.scm
@@ -22,7 +22,6 @@
(use-modules (gnucash core-utils))
-(use-modules (srfi srfi-9))
;; get stuff from localtime date vector
(define (gnc:date-get-year datevec)
@@ -409,17 +408,14 @@
;; relative-date functions start here
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-(define-record-type :reldates
- (make-reldate symbol string desc fn)
- gnc:reldate?
- (symbol gnc:reldate-get-symbol)
- (string gnc:reldate-get-string)
- (desc gnc:reldate-get-desc)
- (fn gnc:reldate-get-fn))
+(define (gnc:reldate-get-symbol x) (vector-ref x 0))
+(define (gnc:reldate-get-string x) (vector-ref x 1))
+(define (gnc:reldate-get-desc x) (vector-ref x 2))
+(define (gnc:reldate-get-fn x) (vector-ref x 3))
;; the globally available hash of reldates (hash-key = reldate
;; symbols, hash-value = a vector, reldate data).
-(define gnc:relative-date-hash (make-hash-table))
+(define gnc:relative-date-hash #f)
(define (gnc:get-absolute-from-relative-date date-symbol)
;; used in options.scm
@@ -785,154 +781,346 @@ Defaulting to today."))
(set-tm:isdst now -1)
(gnc-mktime now))))
-(for-each
- (lambda (reldate)
- (hashq-set! gnc:relative-date-hash
- (gnc:reldate-get-symbol reldate)
- reldate))
-
- (list
- (make-reldate 'start-cal-year
- (G_ "Start of this year")
- (G_ "First day of the current calendar year.")
- gnc:get-start-cal-year)
-
- (make-reldate 'end-cal-year
- (G_ "End of this year")
- (G_ "Last day of the current calendar year.")
- gnc:get-end-cal-year)
-
- (make-reldate 'start-prev-year
- (G_ "Start of previous year")
- (G_ "First day of the previous calendar year.")
- gnc:get-start-prev-year)
-
- (make-reldate 'start-next-year
- (G_ "Start of next year")
- (G_ "First day of the next calendar year.")
- gnc:get-start-next-year)
-
- (make-reldate 'end-prev-year
- (G_ "End of previous year")
- (G_ "Last day of the previous calendar year.")
- gnc:get-end-prev-year)
-
- (make-reldate 'end-next-year
- (G_ "End of next year")
- (G_ "Last day of the next calendar year.")
- gnc:get-end-next-year)
-
- (make-reldate 'start-accounting-period
- (G_ "Start of accounting period")
- (G_ "First day of the accounting period, as set in the global preferences.")
- gnc:get-start-accounting-period)
-
- (make-reldate 'end-accounting-period
- (G_ "End of accounting period")
- (G_ "Last day of the accounting period, as set in the global preferences.")
- gnc:get-end-accounting-period)
-
- (make-reldate 'start-this-month
- (G_ "Start of this month")
- (G_ "First day of the current month.")
- gnc:get-start-this-month)
-
- (make-reldate 'end-this-month
- (G_ "End of this month")
- (G_ "Last day of the current month.")
- gnc:get-end-this-month)
-
- (make-reldate 'start-prev-month
- (G_ "Start of previous month")
- (G_ "First day of the previous month.")
- gnc:get-start-prev-month)
-
- (make-reldate 'end-prev-month
- (G_ "End of previous month")
- (G_ "Last day of previous month.")
- gnc:get-end-prev-month)
-
- (make-reldate 'start-next-month
- (G_ "Start of next month")
- (G_ "First day of the next month.")
- gnc:get-start-next-month)
-
- (make-reldate 'end-next-month
- (G_ "End of next month")
- (G_ "Last day of next month.")
- gnc:get-end-next-month)
-
- (make-reldate 'start-current-quarter
- (G_ "Start of current quarter")
- (G_ "First day of the current quarterly accounting period.")
- gnc:get-start-current-quarter)
-
- (make-reldate 'end-current-quarter
- (G_ "End of current quarter")
- (G_ "Last day of the current quarterly accounting period.")
- gnc:get-end-current-quarter)
-
- (make-reldate 'start-prev-quarter
- (G_ "Start of previous quarter")
- (G_ "First day of the previous quarterly accounting period.")
- gnc:get-start-prev-quarter)
-
- (make-reldate 'end-prev-quarter
- (G_ "End of previous quarter")
- (G_ "Last day of previous quarterly accounting period.")
- gnc:get-end-prev-quarter)
-
- (make-reldate 'start-next-quarter
- (G_ "Start of next quarter")
- (G_ "First day of the next quarterly accounting period.")
- gnc:get-start-next-quarter)
-
- (make-reldate 'end-next-quarter
- (G_ "End of next quarter")
- (G_ "Last day of next quarterly accounting period.")
- gnc:get-end-next-quarter)
-
- (make-reldate 'today
- (G_ "Today")
- (G_ "The current date.")
- gnc:get-today)
-
- (make-reldate 'one-month-ago
- (G_ "One Month Ago")
- (G_ "One Month Ago.")
- gnc:get-one-month-ago)
-
- (make-reldate 'three-months-ago
- (G_ "Three Months Ago")
- (G_ "Three Months Ago.")
- gnc:get-three-months-ago)
-
- (make-reldate 'six-months-ago
- (G_ "Six Months Ago")
- (G_ "Six Months Ago.")
- gnc:get-three-months-ago)
-
- (make-reldate 'one-year-ago
- (G_ "One Year Ago")
- (G_ "One Year Ago.")
- gnc:get-one-year-ago)
-
- (make-reldate 'one-month-ahead
- (G_ "One Month Ahead")
- (G_ "One Month Ahead.")
- gnc:get-one-month-ahead)
-
- (make-reldate 'three-months-ahead
- (G_ "Three Months Ahead")
- (G_ "Three Months Ahead.")
- gnc:get-three-months-ahead)
-
- (make-reldate 'six-months-ahead
- (G_ "Six Months Ahead")
- (G_ "Six Months Ahead.")
- gnc:get-three-months-ahead)
-
- (make-reldate 'one-year-ahead
- (G_ "One Year Ahead")
- (G_ "One Year Ahead.")
- gnc:get-one-year-ahead)))
+;; There is no GNC:RELATIVE-DATES list like the one mentioned in
+;; gnucash-design.info, is there? Here are the currently defined
+;; items, loosely grouped.
+;;today
+;;start-cal-year end-cal-year start-prev-year end-prev-year
+;;start-this-month end-this-month start-prev-month end-prev-month
+;;start-current-quarter end-current-quarter start-prev-quarter
+;;end-prev-quarter
+;;one-month-ago three-months-ago six-months-ago one-year-ago
+;;start-cur-fin-year start-prev-fin-year end-prev-fin-year
+
+(define gnc:reldate-string-db (gnc:make-string-database))
+(define gnc:relative-date-values #f)
+(unless gnc:relative-date-hash
+ (gnc:reldate-string-db
+ 'store 'start-cal-year-string
+ (N_ "Start of this year"))
+ (gnc:reldate-string-db
+ 'store 'start-cal-year-desc
+ (N_ "First day of the current calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'end-cal-year-string
+ (N_ "End of this year"))
+ (gnc:reldate-string-db
+ 'store 'end-cal-year-desc
+ (N_ "Last day of the current calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'start-prev-year-string
+ (N_ "Start of previous year"))
+ (gnc:reldate-string-db
+ 'store 'start-prev-year-desc
+ (N_ "First day of the previous calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'end-prev-year-string
+ (N_ "End of previous year"))
+ (gnc:reldate-string-db
+ 'store 'end-prev-year-desc
+ (N_ "Last day of the previous calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'start-next-year-string
+ (N_ "Start of next year"))
+ (gnc:reldate-string-db
+ 'store 'start-next-year-desc
+ (N_ "First day of the next calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'end-next-year-string
+ (N_ "End of next year"))
+ (gnc:reldate-string-db
+ 'store 'end-next-year-desc
+ (N_ "Last day of the next calendar year."))
+
+ (gnc:reldate-string-db
+ 'store 'start-accounting-period-string
+ (N_ "Start of accounting period"))
+ (gnc:reldate-string-db
+ 'store 'start-accounting-period-desc
+ (N_ "First day of the accounting period, as set in the global preferences."))
+
+ (gnc:reldate-string-db
+ 'store 'end-accounting-period-string
+ (N_ "End of accounting period"))
+ (gnc:reldate-string-db
+ 'store 'end-accounting-period-desc
+ (N_ "Last day of the accounting period, as set in the global preferences."))
+
+ (gnc:reldate-string-db
+ 'store 'start-this-month-string
+ (N_ "Start of this month"))
+ (gnc:reldate-string-db
+ 'store 'start-this-month-desc
+ (N_ "First day of the current month."))
+
+ (gnc:reldate-string-db
+ 'store 'end-this-month-string
+ (N_ "End of this month"))
+ (gnc:reldate-string-db
+ 'store 'end-this-month-desc
+ (N_ "Last day of the current month."))
+
+ (gnc:reldate-string-db
+ 'store 'start-prev-month-string
+ (N_ "Start of previous month"))
+ (gnc:reldate-string-db
+ 'store 'start-prev-month-desc
+ (N_ "First day of the previous month."))
+
+ (gnc:reldate-string-db
+ 'store 'end-prev-month-string
+ (N_ "End of previous month"))
+ (gnc:reldate-string-db
+ 'store 'end-prev-month-desc
+ (N_ "Last day of previous month."))
+
+ (gnc:reldate-string-db
+ 'store 'start-next-month-string
+ (N_ "Start of next month"))
+ (gnc:reldate-string-db
+ 'store 'start-next-month-desc
+ (N_ "First day of the next month."))
+
+ (gnc:reldate-string-db
+ 'store 'end-next-month-string
+ (N_ "End of next month"))
+ (gnc:reldate-string-db
+ 'store 'end-next-month-desc
+ (N_ "Last day of next month."))
+
+ (gnc:reldate-string-db
+ 'store 'start-current-quarter-string
+ (N_ "Start of current quarter"))
+ (gnc:reldate-string-db
+ 'store 'start-current-quarter-desc
+ (N_ "First day of the current quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'end-current-quarter-string
+ (N_ "End of current quarter"))
+ (gnc:reldate-string-db
+ 'store 'end-current-quarter-desc
+ (N_ "Last day of the current quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'start-prev-quarter-string
+ (N_ "Start of previous quarter"))
+ (gnc:reldate-string-db
+ 'store 'start-prev-quarter-desc
+ (N_ "First day of the previous quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'end-prev-quarter-string
+ (N_ "End of previous quarter"))
+ (gnc:reldate-string-db
+ 'store 'end-prev-quarter-desc
+ (N_ "Last day of previous quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'start-next-quarter-string
+ (N_ "Start of next quarter"))
+ (gnc:reldate-string-db
+ 'store 'start-next-quarter-desc
+ (N_ "First day of the next quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'end-next-quarter-string
+ (N_ "End of next quarter"))
+ (gnc:reldate-string-db
+ 'store 'end-next-quarter-desc
+ (N_ "Last day of next quarterly accounting period."))
+
+ (gnc:reldate-string-db
+ 'store 'today-string
+ (N_ "Today"))
+ (gnc:reldate-string-db
+ 'store 'today-desc (N_ "The current date."))
+
+ (gnc:reldate-string-db
+ 'store 'one-month-ago-string
+ (N_ "One Month Ago"))
+ (gnc:reldate-string-db
+ 'store 'one-month-ago-desc (N_ "One Month Ago."))
+
+ (gnc:reldate-string-db
+ 'store 'one-week-ago-string
+ (N_ "One Week Ago"))
+ (gnc:reldate-string-db
+ 'store 'one-week-ago-desc (N_ "One Week Ago."))
+
+ (gnc:reldate-string-db
+ 'store 'three-months-ago-string
+ (N_ "Three Months Ago"))
+ (gnc:reldate-string-db
+ 'store 'three-months-ago-desc (N_ "Three Months Ago."))
+
+ (gnc:reldate-string-db
+ 'store 'six-months-ago-string
+ (N_ "Six Months Ago"))
+ (gnc:reldate-string-db
+ 'store 'six-months-ago-desc (N_ "Six Months Ago."))
+
+ (gnc:reldate-string-db
+ 'store 'one-year-ago-string (N_ "One Year Ago"))
+ (gnc:reldate-string-db
+ 'store 'one-year-ago-desc (N_ "One Year Ago."))
+
+ (gnc:reldate-string-db
+ 'store 'one-month-ahead-string
+ (N_ "One Month Ahead"))
+ (gnc:reldate-string-db
+ 'store 'one-month-ahead-desc (N_ "One Month Ahead."))
+
+ (gnc:reldate-string-db
+ 'store 'one-week-ahead-string
+ (N_ "One Week Ahead"))
+ (gnc:reldate-string-db
+ 'store 'one-week-ahead-desc (N_ "One Week Ahead."))
+
+ (gnc:reldate-string-db
+ 'store 'three-months-ahead-string
+ (N_ "Three Months Ahead"))
+ (gnc:reldate-string-db
+ 'store 'three-months-ahead-desc (N_ "Three Months Ahead."))
+
+ (gnc:reldate-string-db
+ 'store 'six-months-ahead-string
+ (N_ "Six Months Ahead"))
+ (gnc:reldate-string-db
+ 'store 'six-months-ahead-desc (N_ "Six Months Ahead."))
+
+ (gnc:reldate-string-db
+ 'store 'one-year-ahead-string (N_ "One Year Ahead"))
+ (gnc:reldate-string-db
+ 'store 'one-year-ahead-desc (N_ "One Year Ahead."))
+
+ (set! gnc:relative-date-values
+ (list
+ (vector 'start-cal-year
+ (gnc:reldate-string-db 'lookup 'start-cal-year-string)
+ (gnc:reldate-string-db 'lookup 'start-cal-year-desc)
+ gnc:get-start-cal-year)
+ (vector 'end-cal-year
+ (gnc:reldate-string-db 'lookup 'end-cal-year-string)
+ (gnc:reldate-string-db 'lookup 'end-cal-year-desc)
+ gnc:get-end-cal-year)
+ (vector 'start-prev-year
+ (gnc:reldate-string-db 'lookup 'start-prev-year-string)
+ (gnc:reldate-string-db 'lookup 'start-prev-year-desc)
+ gnc:get-start-prev-year)
+ (vector 'start-next-year
+ (gnc:reldate-string-db 'lookup 'start-next-year-string)
+ (gnc:reldate-string-db 'lookup 'start-next-year-desc)
+ gnc:get-start-next-year)
+ (vector 'end-prev-year
+ (gnc:reldate-string-db 'lookup 'end-prev-year-string)
+ (gnc:reldate-string-db 'lookup 'end-prev-year-desc)
+ gnc:get-end-prev-year)
+ (vector 'end-next-year
+ (gnc:reldate-string-db 'lookup 'end-next-year-string)
+ (gnc:reldate-string-db 'lookup 'end-next-year-desc)
+ gnc:get-end-next-year)
+ (vector 'start-accounting-period
+ (gnc:reldate-string-db 'lookup 'start-accounting-period-string)
+ (gnc:reldate-string-db 'lookup 'start-accounting-period-desc)
+ gnc:get-start-accounting-period)
+ (vector 'end-accounting-period
+ (gnc:reldate-string-db 'lookup 'end-accounting-period-string)
+ (gnc:reldate-string-db 'lookup 'end-accounting-period-desc)
+ gnc:get-end-accounting-period)
+ (vector 'start-this-month
+ (gnc:reldate-string-db 'lookup 'start-this-month-string)
+ (gnc:reldate-string-db 'lookup 'start-this-month-desc)
+ gnc:get-start-this-month)
+ (vector 'end-this-month
+ (gnc:reldate-string-db 'lookup 'end-this-month-string)
+ (gnc:reldate-string-db 'lookup 'end-this-month-desc)
+ gnc:get-end-this-month)
+ (vector 'start-prev-month
+ (gnc:reldate-string-db 'lookup 'start-prev-month-string)
+ (gnc:reldate-string-db 'lookup 'start-prev-month-desc)
+ gnc:get-start-prev-month)
+ (vector 'end-prev-month
+ (gnc:reldate-string-db 'lookup 'end-prev-month-string)
+ (gnc:reldate-string-db 'lookup 'end-prev-month-desc)
+ gnc:get-end-prev-month)
+ (vector 'start-next-month
+ (gnc:reldate-string-db 'lookup 'start-next-month-string)
+ (gnc:reldate-string-db 'lookup 'start-next-month-desc)
+ gnc:get-start-next-month)
+ (vector 'end-next-month
+ (gnc:reldate-string-db 'lookup 'end-next-month-string)
+ (gnc:reldate-string-db 'lookup 'end-next-month-desc)
+ gnc:get-end-next-month)
+ (vector 'start-current-quarter
+ (gnc:reldate-string-db 'lookup 'start-current-quarter-string)
+ (gnc:reldate-string-db 'lookup 'start-current-quarter-desc)
+ gnc:get-start-current-quarter)
+ (vector 'end-current-quarter
+ (gnc:reldate-string-db 'lookup 'end-current-quarter-string)
+ (gnc:reldate-string-db 'lookup 'end-current-quarter-desc)
+ gnc:get-end-current-quarter)
+ (vector 'start-prev-quarter
+ (gnc:reldate-string-db 'lookup 'start-prev-quarter-string)
+ (gnc:reldate-string-db 'lookup 'start-prev-quarter-desc)
+ gnc:get-start-prev-quarter)
+ (vector 'end-prev-quarter
+ (gnc:reldate-string-db 'lookup 'end-prev-quarter-string)
+ (gnc:reldate-string-db 'lookup 'end-prev-quarter-desc)
+ gnc:get-end-prev-quarter)
+ (vector 'start-next-quarter
+ (gnc:reldate-string-db 'lookup 'start-next-quarter-string)
+ (gnc:reldate-string-db 'lookup 'start-next-quarter-desc)
+ gnc:get-start-next-quarter)
+ (vector 'end-next-quarter
+ (gnc:reldate-string-db 'lookup 'end-next-quarter-string)
+ (gnc:reldate-string-db 'lookup 'end-next-quarter-desc)
+ gnc:get-end-next-quarter)
+ (vector 'today
+ (gnc:reldate-string-db 'lookup 'today-string)
+ (gnc:reldate-string-db 'lookup 'today-desc)
+ gnc:get-today)
+ (vector 'one-month-ago
+ (gnc:reldate-string-db 'lookup 'one-month-ago-string)
+ (gnc:reldate-string-db 'lookup 'one-month-ago-desc)
+ gnc:get-one-month-ago)
+ (vector 'three-months-ago
+ (gnc:reldate-string-db 'lookup 'three-months-ago-string)
+ (gnc:reldate-string-db 'lookup 'three-months-ago-desc)
+ gnc:get-three-months-ago)
+ (vector 'six-months-ago
+ (gnc:reldate-string-db 'lookup 'six-months-ago-string)
+ (gnc:reldate-string-db 'lookup 'six-months-ago-desc)
+ gnc:get-three-months-ago)
+ (vector 'one-year-ago
+ (gnc:reldate-string-db 'lookup 'one-year-ago-string)
+ (gnc:reldate-string-db 'lookup 'one-year-ago-desc)
+ gnc:get-one-year-ago)
+ (vector 'one-month-ahead
+ (gnc:reldate-string-db 'lookup 'one-month-ahead-string)
+ (gnc:reldate-string-db 'lookup 'one-month-ahead-desc)
+ gnc:get-one-month-ahead)
+ (vector 'three-months-ahead
+ (gnc:reldate-string-db 'lookup 'three-months-ahead-string)
+ (gnc:reldate-string-db 'lookup 'three-months-ahead-desc)
+ gnc:get-three-months-ahead)
+ (vector 'six-months-ahead
+ (gnc:reldate-string-db 'lookup 'six-months-ahead-string)
+ (gnc:reldate-string-db 'lookup 'six-months-ahead-desc)
+ gnc:get-three-months-ahead)
+ (vector 'one-year-ahead
+ (gnc:reldate-string-db 'lookup 'one-year-ahead-string)
+ (gnc:reldate-string-db 'lookup 'one-year-ahead-desc)
+ gnc:get-one-year-ahead)))
+
+ ;; initialise gnc:relative-date-hash
+ (set! gnc:relative-date-hash (make-hash-table))
+ (for-each
+ (lambda (reldate)
+ (hash-set! gnc:relative-date-hash (gnc:reldate-get-symbol reldate) reldate))
+ gnc:relative-date-values))
commit 8b5dd55dc4248f8dcf43f65d582549f23ee12a44
Author: Christopher Lam <christopher.lck at gmail.com>
Date: Sun Nov 22 21:56:35 2020 +0800
Revert "[c-interface] deprecate gnc:make-string-database"
This reverts commit b67bf4b761b3d73c32c3e6662c6626e30ff5e2cb.
diff --git a/libgnucash/app-utils/c-interface.scm b/libgnucash/app-utils/c-interface.scm
index a2bb2a012..486b4d442 100644
--- a/libgnucash/app-utils/c-interface.scm
+++ b/libgnucash/app-utils/c-interface.scm
@@ -78,8 +78,6 @@
;; translated with gettext.
(define (gnc:make-string-database)
(define string-hash (make-hash-table))
- (issue-deprecation-warning "gnc:make-string-database is deprecate. record \
-translatable strings with N_ and G_.")
(lambda args
(match args
(('lookup key) (G_ (hash-ref string-hash key)))
Summary of changes:
libgnucash/app-utils/c-interface.scm | 2 -
libgnucash/app-utils/date-utilities.scm | 508 ++++++++++++++++++++++----------
2 files changed, 348 insertions(+), 162 deletions(-)
More information about the gnucash-changes
mailing list