summaryrefslogtreecommitdiff
path: root/gnu/services/mail.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-06-18 22:37:20 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-24 23:18:20 +0200
commitfb7e6ccba7cc243cd96cdc3fde3daa9a5f08e531 (patch)
tree2818996e5527553d52cdabd431dd245acc33a8da /gnu/services/mail.scm
parent43137d058fe575a70707073bede3465b4c5f555a (diff)
services: configuration: Report the location of field type errors.
Previously field type errors would be reported in a non-standard way, and without any source location information. This fixes it. * gnu/services/configuration.scm (configuration-field-error): Add a 'loc' parameter and honor it. Use 'formatted-message' instead of plain 'format'. (define-configuration-helper)[field-sanitizer]: New procedure. Use it. Use STEM as the identifier of the syntactic constructor of the record type. Add a 'sanitize' property to each field. Remove now useless STEM macro that would call 'validate-configuration'. * gnu/services/mail.scm (serialize-listener-configuration): Adjust to new 'configuration-field-error' prototype. * tests/services/configuration.scm ("wrong type for a field"): New test. * po/guix/POTFILES.in: Add gnu/services/configuration.scm.
Diffstat (limited to 'gnu/services/mail.scm')
-rw-r--r--gnu/services/mail.scm2
1 files changed, 1 insertions, 1 deletions
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index d99743ac311..c2fd4d8670b 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -285,7 +285,7 @@ the section name.")
285 (serialize-fifo-listener-configuration field-name val)) 285 (serialize-fifo-listener-configuration field-name val))
286 ((inet-listener-configuration? val) 286 ((inet-listener-configuration? val)
287 (serialize-inet-listener-configuration field-name val)) 287 (serialize-inet-listener-configuration field-name val))
288 (else (configuration-field-error field-name val)))) 288 (else (configuration-field-error #f field-name val))))
289(define (listener-configuration-list? val) 289(define (listener-configuration-list? val)
290 (and (list? val) (and-map listener-configuration? val))) 290 (and (list? val) (and-map listener-configuration? val)))
291(define (serialize-listener-configuration-list field-name val) 291(define (serialize-listener-configuration-list field-name val)