(define-library (chibi config) (export make-conf conf? conf-load conf-load-in-path conf-load-cascaded conf-verify conf-extend conf-append conf-set conf-unfold-key conf-get conf-get-list conf-get-cdr conf-get-multi conf-specialize read-from-file conf-source conf-head conf-parent assoc-get assoc-get-list) (import (scheme base) (scheme read) (scheme write) (scheme file) (scheme time) (srfi 1)) ;; This is only used for config verification, it's acceptable to ;; substitute file existence for the stronger directory check. (cond-expand (chibi (import (only (meta) warn)) (import (only (chibi) print-exception print-stack-trace)) (import (only (chibi filesystem) file-directory?))) (else (begin (define file-directory? file-exists?) (define (print-exception exn) (write exn)) (define (print-stack-trace . o) #f) (define (warn msg . args) (let ((err (current-error-port))) (display msg err) (for-each (lambda (x) (display " " err) (write x err)) args) (newline err)))))) (include "config.scm"))