diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2020-08-17 22:56:26 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2020-08-17 22:56:26 -0700 |
commit | 7f17d9b257eee0b2848a4fbb83b12ea142c454b0 (patch) | |
tree | cc900f07d22c5f5751c2a912f7821312de79a300 /eval.h | |
parent | 8f03981dfcd66aed76a98716e1a41a8bf1f0dbe6 (diff) | |
download | txr-7f17d9b257eee0b2848a4fbb83b12ea142c454b0.tar.gz txr-7f17d9b257eee0b2848a4fbb83b12ea142c454b0.tar.bz2 txr-7f17d9b257eee0b2848a4fbb83b12ea142c454b0.zip |
txr: repeat ferrets out Lisp-embedded vars.
Gone is the need for :vars to inform @(repeat)/@(rep) about
variable references buried in Lisp.
* eval.c (expand_with_free_refs): Change to external linkage.
* eval.h (expand_with_free_refs): Declared.
* parser.y (extract_vars): Handle sys:expr forms, which are
embedded Lisp via expand_with_free_refs to uncover their free
variables.
* txr.1: Redocumented this area.
Diffstat (limited to 'eval.h')
-rw-r--r-- | eval.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -84,6 +84,7 @@ val expand_quasi(val quasi_forms, val menv); val load(val target); val expand(val form, val menv); val expand_forms(val forms, val menv); +val expand_with_free_refs(val form, val menv_in, val upto_menv_in); val prof_call(val (*fun)(mem_t *ctx), mem_t *ctx); val bindable(val obj); val mapcarv(val fun, struct args *lists); |