summaryrefslogtreecommitdiffstats
path: root/mpi/mplogic.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-06-13 21:03:44 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-06-13 21:03:44 -0700
commitf6070b119921c44c44e8da0e212142fac2a8913a (patch)
tree9f709e719577f9284f21c30ee1ca9899f14c260a /mpi/mplogic.c
parent53a2e32d75890f33bd25a5e376672dd787d242e1 (diff)
downloadtxr-f6070b119921c44c44e8da0e212142fac2a8913a.tar.gz
txr-f6070b119921c44c44e8da0e212142fac2a8913a.tar.bz2
txr-f6070b119921c44c44e8da0e212142fac2a8913a.zip
bugfix: autoload syntactic places.
TXR Lisp doesn't autoload the definition of places. For instance if a (set (foo x) y) appears out of the blue and foo is keyed for autoload, it doesn't happen. The right place to fix this is to do the autload check in the place macro expander, since every place form is tried as a macro. We need to expose the lisplib_try_load function as a Lisp intrinsic. * lisplib.c (lisplib_init): Register sys:try-load intrinsic, mapped to lisplib_try_load. * share/txr/stdlib/place.tl (sys:get-place-macro): New function. (sys:pl-expand): Use sys:get-place-macro instead of direct lookup in *place-macro* hash. The new function tries to autoload the symbol if it finds no place macro for it.
Diffstat (limited to 'mpi/mplogic.c')
0 files changed, 0 insertions, 0 deletions