(expansion valid-directions))
(let ((direction (string->symbol str)))
(cond
- ((eq? direction '*)
+ ((and (eq? direction '*) expansion)
expansion)
- ((memq direction expansion)
+ ((memq direction valid-directions)
(list direction))
(else
(error "unknown direction" str)))))
(expansion valid-transfer-types))
(let ((trans (string->symbol str)))
(cond
- ((eq? trans '*)
+ ((and (eq? trans '*) expansion)
expansion)
- ((memq trans expansion)
+ ((memq trans valid-transfer-types)
(list trans))
(else
(error "unknown transfer-type" str)))))