@@ -40,10 +40,16 @@ (define (config:assoc-safe-add alist key val #!key (metadata #f)) (let ((newalist (filter (lambda (x)(not (equal? key (car x)))) alist))) (append newalist (list (if metadata (list key val metadata) (list key val)))))) + + +(define (configf:set-section-var cfgdat section var value) + (let ((sect (hash-table-ref/default cfgdat section '()))) + (hash-table-set! cfgdat section (config:assoc-safe-add sect var value)))) + (define (config:eval-string-in-environment str) (handle-exceptions exn (begin @@ -596,5 +602,7 @@ (fname (if (> (length dat-pair) 2)(caddr dat-pair) #f))) (if fname (print "# " var "=>" fname)) (print var " " val))) section-dat))) ;; (print "section-dat: " section-dat)) (hash-table->alist data))) + +