diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-01-03 11:16:48 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-01-03 11:16:48 -0800 |
commit | 11ac283d7eda2bac2f19d62d014043f66c8de84c (patch) | |
tree | 2b0289573ae6c8337c94734aa58b46b282e916e9 /lib.h | |
parent | 629c448f272fe23cefe6eb2b2b90dc8dfb3bbf86 (diff) | |
download | txr-11ac283d7eda2bac2f19d62d014043f66c8de84c.tar.gz txr-11ac283d7eda2bac2f19d62d014043f66c8de84c.tar.bz2 txr-11ac283d7eda2bac2f19d62d014043f66c8de84c.zip |
defstruct: order function slots before other static slots.
This allows the initializer expressions for static slots
to instantiate objects, and those instances can rely on
methods being set up.
* share/txr/stdlib/struct.tl (sys:prune-nil-inits): Recognize
:function keyword as denoting a static slot.
(defstruct): Represent methods and functions as (:function
...) items rather than (:static ...) so they can be
distinguished. Function slots appear before other static
slots in the static slot list, and their initializing
code is placed into the the static-initfun lambda of the
sys:make-struct-type call in this order.
* txr.1: Documented.
Diffstat (limited to 'lib.h')
0 files changed, 0 insertions, 0 deletions