From 87c952d164295c2ffaa99c8bde62e223ec82b56f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 26 Oct 2021 22:07:36 -0700 Subject: match: fix quasiliteral issue. * stdlib/match.tl (compile-match): Handle the (sys:expr (sys:quasi ...)) case by recursing on the (sys:quasi ...) part, thus making them equivalent. This fixes the newly introduced broken test cases, and meets the newly documented requirements. --- stdlib/match.tl | 1 + 1 file changed, 1 insertion(+) diff --git a/stdlib/match.tl b/stdlib/match.tl index 1442eb56..8d014f11 100644 --- a/stdlib/match.tl +++ b/stdlib/match.tl @@ -603,6 +603,7 @@ (hash (compile-hash-match exp obj-var var-list)) (usr:scan (compile-scan-match exp obj-var var-list)) (exprs (compile-exprs-match exp obj-var var-list)) + (sys:quasi (compile-match exp obj-var var-list)) (t (iflet ((xfun [*match-macro* op])) (let* ((var-env (make-env (mapcar (lop cons 'sys:special) -- cgit v1.2.3