aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ccwl/ccwl.scm15
1 files changed, 9 insertions, 6 deletions
diff --git a/ccwl/ccwl.scm b/ccwl/ccwl.scm
index 9da805e..9c24a1b 100644
--- a/ccwl/ccwl.scm
+++ b/ccwl/ccwl.scm
@@ -72,11 +72,15 @@
(make-output id type binding source other))
(define (filter-alist alist)
- "Filter ALIST removing entries with #f as the value."
- (filter (match-lambda
- ((_ . #f) #f)
- (_ #t))
- alist))
+ "Filter ALIST removing entries with #f as the value. If the
+resulting association list is empty, return #f. Else, return that
+association list."
+ (match (filter (match-lambda
+ ((_ . #f) #f)
+ (_ #t))
+ alist)
+ (() #f)
+ (result result)))
(define-immutable-record-type <step>
(make-step id run in out)
@@ -245,7 +249,6 @@
(label . ,(input-label input))
(default . ,(and (not (unspecified-default? (input-default input)))
(input-default input)))
- ;; FIXME: inputBinding can be an empty dictionary.
(inputBinding . ,(filter-alist
`((position . ,(input-position input))
(prefix . ,(input-prefix input)))))))