diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2018-02-14 07:02:46 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2018-02-14 07:02:46 -0800 |
commit | f4039578f59a7199352eb650eec372af07788bd8 (patch) | |
tree | 842f3cec928889a612343ff78af29be5b1984ff9 /buf.h | |
parent | de32dd693de485149b972cde39de3c7e735e2f5c (diff) | |
download | txr-f4039578f59a7199352eb650eec372af07788bd8.tar.gz txr-f4039578f59a7199352eb650eec372af07788bd8.tar.bz2 txr-f4039578f59a7199352eb650eec372af07788bd8.zip |
bugfix: op module inversely depends on sys:l1-val.
The problem is that the lop macro in op.tl generates code
that uses sys:l1-val. That requires the place.tl module.
But there is no autoload trigger for sys:l1-val. Even if
there were, it wouldn't work because op.tl is lower level
w.r.t. place.tl; place.tl uses op.tl.
Let's just rewrite sys:l1-val and sys:l1-setq in C, so they
live in the run-time core.
* eval.c (sys_l1_val_s, sys_l1_setq_s): New symbol variables.
(me_l1_val, me_l1_setq): New static functions.
(eval_init): Intern sys:l1-setq and sys:l1-val symbols,
binding these to the macro expanding functions.
* share/txr/stdlib/place.tl (sys:l1-setq, sys:l1-val): Macros
removed.
Diffstat (limited to 'buf.h')
0 files changed, 0 insertions, 0 deletions