diff --git a/lib/chibi/app.scm b/lib/chibi/app.scm index 08c1ed4a..3380ffe2 100644 --- a/lib/chibi/app.scm +++ b/lib/chibi/app.scm @@ -33,6 +33,13 @@ (if (not (= 1 (string-length str))) (list #f "expected a single character") (list (string-ref str 0) #f))) + ((sexp) + (list (guard (exn (else str)) + (let* ((in (open-input-string str)) + (res (read in))) + (close-input-port in) + res)) + #f)) (else (list str #f)))))) (define (lookup-conf-spec conf-spec syms strs) diff --git a/lib/chibi/app.sld b/lib/chibi/app.sld index 585cfc95..0ec087e4 100644 --- a/lib/chibi/app.sld +++ b/lib/chibi/app.sld @@ -3,6 +3,7 @@ (export parse-option parse-options parse-app run-application app-help app-help-command) (import (scheme base) + (scheme read) (scheme write) (scheme process-context) (srfi 1)