Petr, phodina 写道: > Here's the modification: > > (define (config->string options) > (string-join (map (match-lambda > ((option . 'm) > (string-append option "=m")) > ((option . #t) > (string-append option "=y")) > ((option . #f) > (string-append option "=n")) > ((option . number) > (string-append option "=" number)) > options) > "\n")) At this point, (option . number) will match anything. You're not matching numbers here: ‘number’ is your chosen variable name, not magic. It could be ‘foo’. It could be anything, without changing the effect of this code. > ((option . string) > (string-append option "=\"" string > "\""))) This will never be reached. I'm almost certain that this is, at least in part, why your BINDER configuration isn't taking effect. Here's mine: (define option->string (match-lambda ((option . #f) (format #f "# ~a is not set" option)) ((option . #t) (format #f "~a=y" option)) ((option . 'm) (format #f "~a=m" option)) ((option . (? number? value)) (format #f "~a=~a" option value)) ((option . (? string? value)) (format #f "~a=\"~a\"" option value)))) Kind regards, T G-R