summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-01-27 22:31:48 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-01-27 22:31:48 -0800
commit19a86d850a72ff2eda7801c8999a391d4308971a (patch)
treed544c3a90a5019a543fb77067ed55336b0a2119a /share
parentbd59edc88776eb56fc5354d7546fbe4da98a841f (diff)
downloadtxr-19a86d850a72ff2eda7801c8999a391d4308971a.tar.gz
txr-19a86d850a72ff2eda7801c8999a391d4308971a.tar.bz2
txr-19a86d850a72ff2eda7801c8999a391d4308971a.zip
matcher: smallest fix for broken test case found.
* share/txr/stdlib/match.tl (compile-atom-match): Do not express the match for the atom via test-expr. That is too late. It needs to be a guard in the guard chain.
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/match.tl4
1 files changed, 3 insertions, 1 deletions
diff --git a/share/txr/stdlib/match.tl b/share/txr/stdlib/match.tl
index 8c7a245a..e44e7e64 100644
--- a/share/txr/stdlib/match.tl
+++ b/share/txr/stdlib/match.tl
@@ -179,7 +179,9 @@
(new compiled-match
pattern atom
obj-var obj-var
- test-expr ^(equal ,obj-var ',atom))))
+ guard-chain (list (new match-guard
+ guard-expr ^(equal ,obj-var ',atom)))
+ test-expr t)))
(typecase atom
(vec (if (non-triv-pat-p atom)
(compile-vec-match atom obj-var var-list)