diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-02-24 00:25:23 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-02-24 00:25:23 -0800 |
commit | 34530bc12e2e455b569d183937af9f41db9adbed (patch) | |
tree | 06f401350b81df769ffcdee39d30dae205c1a676 /stdlib | |
parent | 5a8c20fee69d0b68ee60d33a22f0fa46f724e1e2 (diff) | |
download | txr-34530bc12e2e455b569d183937af9f41db9adbed.tar.gz txr-34530bc12e2e455b569d183937af9f41db9adbed.tar.bz2 txr-34530bc12e2e455b569d183937af9f41db9adbed.zip |
opip: pass through forms in the op family.
* stdlib/op.tl (sys:opip-expand): Add op, do, lop, ldo, ap,
ip, ado, ido, ret and aret to the operators whose forms are
passed through untransformed. This is important because it
lets us override the implicit (op ...) and (do ...) chosen
by the expander. When a pipeline element produces a list, for
instance, we want to be able to use (ap ...) in the next
element to spread the list into arguments.
* tests/012/op.tl: Add bellied numbers test case.
* txr.1: Documented.
Diffstat (limited to 'stdlib')
-rw-r--r-- | stdlib/op.tl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/stdlib/op.tl b/stdlib/op.tl index 2754ca0d..1f242745 100644 --- a/stdlib/op.tl +++ b/stdlib/op.tl @@ -221,7 +221,7 @@ (if (atom c) c (let ((sym (car c))) - (if (member sym '(dwim uref qref)) + (if (member sym '(dwim uref qref op do lop ldo ap ip ado ido ret aret)) c (let ((opdo (if (or (special-operator-p (car c)) (macro-form-p c e)) 'do 'op))) |