me
/
guix
Archived
1
0
Fork 0

services: configuration: Fix interpose implementation.

* gnu/services/configuration.scm (interpose, serialize-text-config): Fix
interpose implementation, move file-like object code to
serialize-text-config.

Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
master
Andrew Tropin 2021-11-01 10:43:12 +03:00 committed by Oleg Pykhalov
parent 6e5ca0bb84
commit 7af3b82217
No known key found for this signature in database
GPG Key ID: 167F8EA5001AFA9C
1 changed files with 11 additions and 5 deletions

View File

@ -359,10 +359,7 @@ DELIMITER interposed LS. Support 'infix and 'suffix GRAMMAR values."
(G_ "The GRAMMAR value must be 'infix or 'suffix, but ~a provided.")
grammar)))
(fold-right (lambda (e acc)
(cons #~(begin
(use-modules (ice-9 rdelim))
(with-fluids ((%default-port-encoding "UTF-8"))
(with-input-from-file #$e read-string)))
(cons e
(if (and (null? acc) (eq? grammar 'infix))
acc
(cons delimiter acc))))
@ -387,7 +384,16 @@ the list result in @code{#t} when applying PRED? on them."
(define (text-config? config)
(list-of file-like?))
(define (serialize-text-config field-name val)
#~(string-append #$@(interpose val "\n" 'suffix)))
#~(string-append
#$@(interpose
(map
(lambda (e)
#~(begin
(use-modules (ice-9 rdelim))
(with-fluids ((%default-port-encoding "UTF-8"))
(with-input-from-file #$e read-string))))
val)
"\n" 'suffix)))
(define ((generic-serialize-alist-entry serialize-field) entry)
"Apply the SERIALIZE-FIELD procedure on the field and value of ENTRY."