summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/match.tl12
1 files changed, 5 insertions, 7 deletions
diff --git a/share/txr/stdlib/match.tl b/share/txr/stdlib/match.tl
index e59cb156..75f58db8 100644
--- a/share/txr/stdlib/match.tl
+++ b/share/txr/stdlib/match.tl
@@ -278,16 +278,14 @@
(mapcar (ret ^(set ,@1 nil))
(diff all-vars pm.vars)))
t))))))
- (let ((guard0 (new match-guard
- guard-expr t
- vars all-vars))
- (guard1 (new match-guard
- guard-expr ^(,op ,*[mapcar submatch-fun par-matches]))))
+ (let ((guard (new match-guard
+ guard-expr t
+ vars all-vars)))
(new compiled-match
pattern par-pat
obj-var obj-var
- guard-chain (list guard0 guard1)
- test-expr t))))))
+ guard-chain (list guard)
+ test-expr ^(,op ,*[mapcar submatch-fun par-matches])))))))
(defun compile-not-match (pattern obj-var var-list)
(mac-param-bind *match-form* (op pattern) pattern