diff options
Diffstat (limited to 'share')
-rw-r--r-- | share/txr/stdlib/match.tl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/share/txr/stdlib/match.tl b/share/txr/stdlib/match.tl index 0c672903..ec35e0a9 100644 --- a/share/txr/stdlib/match.tl +++ b/share/txr/stdlib/match.tl @@ -338,9 +338,10 @@ (result (gensym "result-")) (clause-matches [mapcar (op compile-match (car @1) obj) clauses]) (clause-code (collect-each ((cl clauses) - (cm clause-matches)) + (cm clause-matches) + (i 0)) (mac-param-bind *match-form* (match . forms) cl - ^(unless ,flag + ^(unless ,(unless (zerop i) flag) (let (,*cm.(get-vars)) (set ,result ,cm.(wrap-guards ^(progn ,*cm.(assignments) |