summaryrefslogtreecommitdiffstats
path: root/syslog.h
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2022-09-27 17:19:44 -0700
committerKaz Kylheku <kaz@kylheku.com>2022-09-27 17:19:44 -0700
commit706d76a81618b522199f84d89101d0733c546786 (patch)
treee48fc3c291606896ddd04b07a6e6cbbacbabbb48 /syslog.h
parent73561e855842fe75450d789ef11c5fd883f221d0 (diff)
downloadtxr-706d76a81618b522199f84d89101d0733c546786.tar.gz
txr-706d76a81618b522199f84d89101d0733c546786.tar.bz2
txr-706d76a81618b522199f84d89101d0733c546786.zip
New :postfini feature in defstruct.
The :postfini clause registers a finalizer that runs in the ordinary order: after previously registered ones. This has the effect of allowing a derived structure to run clean-up actions after those of inherited structures. Either order can be useful because the dependencies between base and derived can go in either direction. It's a huge mistake in C++ that it supports only derived-first destructor invocation order. * stdlib/struct.tl (defstruct): Recognize and translate :postfini clause. It's exactly like :fini but omits the t parameter in the finalize call, registering in the natural order. * tests/012/fini.tl (derived): Add :postfini handler. * tests/012/fini.expected: Updated to reflect the messages coming from the postfini handler, which are happening in the correct order. * txr.1: Documented.
Diffstat (limited to 'syslog.h')
0 files changed, 0 insertions, 0 deletions