diff --git a/src/app-utils/app-utils.scm b/src/app-utils/app-utils.scm index c62e93ac7b..0afe7eb12f 100644 --- a/src/app-utils/app-utils.scm +++ b/src/app-utils/app-utils.scm @@ -75,6 +75,7 @@ (export gnc:option-value-get-index) (export gnc:option-number-of-indices) (export gnc:option-default-value) +(export gnc:option-set-default-value) (export gnc:restore-form-generator) (export gnc:value->string) (export gnc:make-string-option) diff --git a/src/app-utils/options.scm b/src/app-utils/options.scm index 1019dfd406..276174d476 100644 --- a/src/app-utils/options.scm +++ b/src/app-utils/options.scm @@ -177,6 +177,17 @@ (let ((getter (gnc:option-default-getter option))) (getter))) +;; Attention: this function can only be used with restrictions +;; - only during option generation, not in arbitrary code +;; - only for option types for which no conversion is required +;; between default-value and value. In the various gnc:make-option +;; functions below this is ok when +;; 1. there's (value default-value) in the let* call +;; 2. default-getter is set to (lambda() default-value) +(define (gnc:option-set-default-value option default-value) + (vector-set! option 7 (lambda() default-value)) + (gnc:option-set-value option default-value)) + (define (gnc:restore-form-generator value->string) (lambda () (string-append diff --git a/src/report/standard-reports/general-journal.scm b/src/report/standard-reports/general-journal.scm index b957e9058d..9293512345 100644 --- a/src/report/standard-reports/general-journal.scm +++ b/src/report/standard-reports/general-journal.scm @@ -53,7 +53,7 @@ ) (define (set-option! section name value) - (gnc:option-set-value + (gnc:option-set-default-value (gnc:lookup-option options section name) value)) ;; Match, by default, all non-void transactions ever recorded in diff --git a/src/report/standard-reports/general-ledger.scm b/src/report/standard-reports/general-ledger.scm index 5da37fe53c..02294a43b6 100644 --- a/src/report/standard-reports/general-ledger.scm +++ b/src/report/standard-reports/general-ledger.scm @@ -57,7 +57,7 @@ (define pagename-sorting (N_ "Sorting")) (define (set-option! section name value) - (gnc:option-set-value + (gnc:option-set-default-value (gnc:lookup-option options section name) value)) ;; set options in the accounts tab...