summaryrefslogtreecommitdiffstats
path: root/protsym.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-02-14 07:02:46 -0800
committerKaz Kylheku <kaz@kylheku.com>2018-02-14 07:02:46 -0800
commitf4039578f59a7199352eb650eec372af07788bd8 (patch)
tree842f3cec928889a612343ff78af29be5b1984ff9 /protsym.c
parentde32dd693de485149b972cde39de3c7e735e2f5c (diff)
downloadtxr-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 'protsym.c')
0 files changed, 0 insertions, 0 deletions