diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-10-26 22:07:36 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-10-26 22:07:36 -0700 |
commit | 5593e1e2bfd9e8026345a61b8735e3bb96084e89 (patch) | |
tree | a6d7c42c1826b9dc7ac08e83fa77ebe642308507 /stdlib/match.tl | |
parent | da1cb870c407410f3197179fa5d43474c758883d (diff) | |
download | txr-5593e1e2bfd9e8026345a61b8735e3bb96084e89.tar.gz txr-5593e1e2bfd9e8026345a61b8735e3bb96084e89.tar.bz2 txr-5593e1e2bfd9e8026345a61b8735e3bb96084e89.zip |
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.
Diffstat (limited to 'stdlib/match.tl')
-rw-r--r-- | stdlib/match.tl | 1 |
1 files changed, 1 insertions, 0 deletions
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) |