lib

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- new flag for configure: "nx::configure checkarguments on|off" - turn off argument-checking for non-converters, when checking is off (per default, it is on) - extended regression test for optional argument checking

  1. … 8 more files in changeset.
- minor cleanup

  1. … 5 more files in changeset.
- changed argument order on nsf::is to make it conformant with Tcl conventions - removed objectproperty, replaced it by ::nsf::is - move functionalizy of objectproperty to make "obj info is ..." more efficient

  1. … 13 more files in changeset.
- fix editing

- replaced argument order on objectproperty to make it conformant with Tcl conventions - updated migration guide

  1. … 11 more files in changeset.
- Replaced the former "exception" handling mechanism by a simplified one. This speeds up e.g. the generation of the current nx.tcl documentation by 15-20%. - Adjusted the tests for the modified CommentBlockParser interface. - Implemented a first version of the revised tagline notation. Changed the documentation in nx.tcl and predefined.tcl accordingly. - Discriminate between parsing simple and complex part entities. In the simple case, multi-line part sections are not allowed anymore. - Adopted the recent changes in the object introspection interfaces

  1. … 3 more files in changeset.
- introduced ::nsf::isobject - replaced in all scripts "::nsf::objectproperty ... object" by isobject

  1. … 13 more files in changeset.
- Refactoring templating code: Separated generic and backend-specific templating behaviour into distinct classes: BaseTemplateData and NxDocTemplateData. Rewrote the getter logic for the @doc strings to retrieve different representations (as_text() and as_list()). - Multi-line block markers: To achieve this, I moved the handling of block markers into the template data classes. - Adjusted the tests for the changes ...

  1. … 2 more files in changeset.
- removed some deubug output

Temporarily fixed an issue with cleaning up comment section states set on an entity object. This needs to be improved and to be made more robust!

  1. … 1 more file in changeset.
- Added an experimental gathering facility for part objects, relative to a given entity object. It returns a [dict] which allows to reuse the parts gathered throughout the templates rendering process. - Moved the process=@* methods to the doc object (this increases the cohesion). - Adjusted the current documentation artifacts for the changes (@object -> @class where applicable).

  1. … 2 more files in changeset.
- Renamed the existing object.html.tmpl to class.html.tmpl and fix it to reflect class features. Providing an object-only template remains to be done. - Added an experimental gathering facility for part objects, relative to a given entity object. It returns a [dict] which allows to reuse the parts gathered throughout the templates rendering process. - Moved the process=@* methods to the doc object (this increases the cohesion). - Adjusted the current documentation artifacts for the changes (@object -> @class where applicable).

    • -0
    • +264
    ./doc-assets/class.html.tmpl
- Started separating the documentation into four documentation projects, each with its own documentation artifact: nsf (predefined.tcl), nsl/nx (nx.tcl), xotcl (xotcl2.tcl), libraries (several?). - Removed documentation blocks from gentclAPI.decls - Added default namespace resolution for documentation entities. @project and @package can now specify a default namespace which is applied to all relative (not fully qualified) entity names. This avoids the redundant writing of longish qualified entity names. As a @project may contain several @packages, multiple default namespaces can be specified. - Added a distinct @class entity family. - @project and @package can now trace the creation of specified part entities (@class, @object, @command) to be structurally linked to them. - Fixed search box support for @command views - Excluded template files from output directories

  1. … 5 more files in changeset.
- changed requireNamespace to "require namespace" in lib/make.tcl

- implemented experimental delegating version of "object as method" that keeps the original self.

  1. … 8 more files in changeset.
- changed __invalidateobjectparameter from a method of class to framework primitiv ::nsf::invalidateobjectparameter

  1. … 5 more files in changeset.
Fixed some more [info callable] occurrences

- Accomplished major rewrite and cleanup of the comment block parser. The revised design allows us to express parsing states (context, description, part) as well as their substates reflecting the comment line processed (tag, text, space) directly. The design follows a METHODS-FOR-STATES strategy. Also, the parsing logic is now self-contained and is not interwoven with the class hierarchy documentation entities anymore (i.e., the former process() method of Entity and its subclasses). - The modal/reactive design of the comment block parser has been streamlined: There is a CommentBlockParser class which acts as the event source. The actual parsing is achieved by the mixin-refined entity objects by reacting upon the parsing events (process, parse, next). - Adjusted the tests in doc.tcl accordingly. - Changed occurrences of [info callable] to reflect the latest changes.

  1. … 1 more file in changeset.
- renamed "info method name ..." into "info method handle ...", since it returned already the handle - renamed ListMethodName() to ListMethodHandle() - changed output of "info callable -which ..." from definition to method handle - renamed "info callable -which ..." into "info callable method ..." - updated regression test to reflect the changes

  1. … 13 more files in changeset.
- use testfile name as additional prefix in test reports

- made the "next scripting laguage" a own, loadable tcl package (currently named nx, name is subject of change) - predefined.tcl is now pretty minimal.

  1. … 29 more files in changeset.
- changed more self/current

  1. … 1 more file in changeset.
- added interp alias "nx::self" to "nx::core::current method" - changed "current proc" into "current method" in scripts and tests

  1. … 10 more files in changeset.
- xotcl.c: * new function GetObjectFromNsName() to obtail object or class from a fully qualified namespace name used in method handles (such as e.g. ::nx::core::classes::X) * new function MethodHandleObj() to return a tcl_obj containing the methodhandle * removed obsolete method getFullProcQualifier() * info methods obtain now object and/or class from fully qualified method names (method handles) if possible * return message handles in "current next", "current filterreg" and "... info filter ... -order", which can be used in "info method .... " for obtaining more details. * change all occurrances of "self" in next regression tests to current. - xotcl2.tcl * implemented "self" as a proc to provide extensibility and full backward compatibilty; this opens opportunity to replace now e.g. "self proc" by "current method", etc. * provide full compatibility for "self next", "self filterreg" and "... info filter ... -order", returning old-style multiword method handles (such as e.g. "::C instproc foo") - changed "next" to current in documentation framework and templates

  1. … 17 more files in changeset.
- created own directory structure xotcl under library containing doc, tests, apps, lib etc. and moved obvious content here. - adjusted regression test and old documentation system to work with new structure

  1. … 391 more files in changeset.
- added redefine-protected to the object template - added methodtype to object template - some documentation updates - some indentation/spacing improvements on xotcl.c - let ".... info method .... METHOD" return values, when METHOD contains namespace prefix. This can be used to obtain the parmeter definitions from nx::core - get forward definition from the original command

  1. … 4 more files in changeset.
- added @properties and has_property to the documentation classes. Current primary purpose: define, which methods are internally-called - added interanlly-called to the method object template

  1. … 3 more files in changeset.
- renamed mk_predefined.xotcl -> mk_predefined.tcl - renamed predefined.xotcl -> predefined.tcl - additional subcommand "info method parametersyntax <methodname>" returns parameters in a syntax similar to the tcl man pages - added ability to pass syntax for forwarded methods via set ::nx::core::signature(::nx::Object-method-forward) (experimental) - fixed documentation system to work with actual version - added undocumented methods for quality control in documentation - added checks for documented, but unavailable methods in documentation - added comparison of documented parameters vs. actual parameters in documentation

    • -0
    • +1817
    ./doc-tools.tcl
  1. … 13 more files in changeset.
- changed "Serializer.xotcl" to "serializer.tcl" (package name from xotcl::serializer to nx::serializer) - added stub for xotcl::serializer for backward compatibility - changed serializer to new namespaces - renamed xotcl.tcl to xotcl2.tcl - added proc finalize to xotcl2.tcl

  1. … 10 more files in changeset.
- changed stubs from xotcl to nx - first part of openacs updates

  1. … 4 more files in changeset.