Accomplishments: - Completed a first version of the sandboxed (partial) evaluation of Tcl source artifacts (packages, script files, C extensions) based on a dedicated child/slave interp environment: see ::nx::doc::Sandbox; the test suite and the test documentation builts run on it. - Based on this infrastructure, we can now generate a snapshot of a program's structure to be documented (and contrast it to the explicitly documented structure). - Added simplistic css sprites for visualising the doc entity status (extra, missing, mismatch, complete); see also library/lib/doc-assets/status.svg and library/lib/doc-assets/status.png - The entity status is printed optionally along with the print name of an entity - Added switch-like parts to represent properties of doc entities: @deprecated, @stashed, @c-implemented, @syshook. The implementation and use of ::nx::doc::SwitchAttribute should be reviewed after having figured out how to proceed using "switching" objparams. - I provide a multi-property dispatcher as doc-syntactic sugar and for mere convenience: @property
Various:
- Corrected some div-boxing mess in the templates
- Added a filtered helper to process entity collections
- Made the mixin layer infrastructure more symmetric (a revoke operation).
- Added tracers for ::nsf::method and ::nsf::alias (remains to be completed)
- Renamed ::nx::doc to ::nx::processor and turned it into another
mixin layer to trace the doc entity creation in e.g. readin()
- Companion (*.nxd) files: Revised the handling of companion
files. Temporarily moved generic/nsf.nxd in the top-level
directory. We need to find a permanent place as its location is
currently derived from the location of the shared extension. A
candidate is doc/ but this is not linked to the shared extension
location at all.
- processor.readin() now returns a collection of entities created
during its execution.
- Improved robustedness and orthogonality: destroy hooks; the
tag-dispatcher can now handle empty comment lines; when placing NSF
object tracer, we now use the freshly added introspection of an
object system's method aliases.