Accomplishments: - Completed a first version of the sandboxed (partial) evaluation of Tcl source artifacts (packages, script files, C exte…
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: @propertyVarious:- 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.