diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-04-25 00:00:56 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-04-25 00:00:56 -0700 |
commit | 1c4a01eb72898fb9bf8ef87d1ee161bba71a3ae1 (patch) | |
tree | c518014d8e62439841e0b041ddebd48e86968762 /parser.h | |
parent | 7de6f85f52201269f2890903adf12cf31ffbfbbc (diff) | |
download | txr-1c4a01eb72898fb9bf8ef87d1ee161bba71a3ae1.tar.gz txr-1c4a01eb72898fb9bf8ef87d1ee161bba71a3ae1.tar.bz2 txr-1c4a01eb72898fb9bf8ef87d1ee161bba71a3ae1.zip |
matcher: turn sys:quasi defmatch into built-in.
This not only gets rid of the @ from @`...`, but allows the ``
empty pattern `` to work. A bug is also fixed.
* share/txr/stdlib/match.tl (compile-match): Recognize
list headed by sys:quasi and feed to expand-quasi-match.
(sys:quasi): defmatch removed.
(expand-quasi-match): Function formed from sys:quasi defmatch.
Instead of :form argument, we access *match-form*, like all
the other internal functions. Instead of the :env parameter,
we use the vars-list object. Using that object's exists method
fixed a bug: failing to check for existing variables using
boundp.
Diffstat (limited to 'parser.h')
0 files changed, 0 insertions, 0 deletions