diff options
Diffstat (limited to 'module/util/options.scm')
-rw-r--r-- | module/util/options.scm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/module/util/options.scm b/module/util/options.scm index 87390e27..89dde42d 100644 --- a/module/util/options.scm +++ b/module/util/options.scm @@ -8,9 +8,15 @@ (define-public (getopt-opt options) (map (lambda (optline) (cons (car optline) - (lset-intersection (lambda (a b) (eqv? b (car a))) - (cdr optline) - '(single-char required? value predicate)))) + (map (lambda (opt-field) + (cons (car opt-field) + (cond [(and (eq? 'value (car opt-field)) + (symbol? (cadr opt-field))) + '(optional)] + [else (cdr opt-field)]))) + (lset-intersection (lambda (a b) (eqv? b (car a))) + (cdr optline) + '(single-char required? value predicate))))) options)) |