mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-18 21:29:19 +02:00
27 lines
1.1 KiB
Scheme
27 lines
1.1 KiB
Scheme
|
|
(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"))
|