33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
(list #f #f #f) ;; #f #f)
(loop remcwd))))))))
(define (config:assoc-safe-add alist key val)
(let ((newalist (filter (lambda (x)(not (equal? key (car x)))) alist)))
(append newalist (list (list key val)))))
;; read a config file, returns two level hierarchial hash-table,
;; adds to ht if given (must be #f otherwise)
(define (read-config path ht allow-system)
(if (not (file-exists? path))
(if (not ht)(make-hash-table) ht)
(let ((inp (open-input-file path))
(res (if (not ht)(make-hash-table) ht))
(include-rx (regexp "^\\[include\\s+(.*)\\]\\s*$"))
|
|
|
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
(list #f #f #f) ;; #f #f)
(loop remcwd))))))))
(define (config:assoc-safe-add alist key val)
(let ((newalist (filter (lambda (x)(not (equal? key (car x)))) alist)))
(append newalist (list (list key val)))))
;; read a config file, returns hash table of alists
;; adds to ht if given (must be #f otherwise)
(define (read-config path ht allow-system)
(if (not (file-exists? path))
(if (not ht)(make-hash-table) ht)
(let ((inp (open-input-file path))
(res (if (not ht)(make-hash-table) ht))
(include-rx (regexp "^\\[include\\s+(.*)\\]\\s*$"))
|