nsf

Clone Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Implemented "Class info parameter" in Tcl, aliases for xotcl. Now both definition of parameters and setting of __parameter are in Tcl.

- generalized comment removal code in mk_predefined

- change mk_predefined to handle longish comments in predefined.xotcl (due to documentation system)

- minor typographical changes

- cover different kind of methods and method protection in mirgration guide

- changed one more int to size_t

- use size_t where appropriate - added notnull annotations

- provide error messages for [objectproperty ... type ...] - replace 0 by NULL in calls to GetClassFromObj() - extended regression test

- reanimated "info vars" to show locals in eval method

- removed "[o exists varname]" from next scripting language

- updated migration guide - updated TODO

- copied infoObjectMethod and infoClassMethod decls as comments to xotcl.c, aligned order of method definitions

- renamed varresolutiontest to .tcl - updated TODO

    • -0
    • +720
    /tests/varresolutiontest.tcl
- new function CheckVarName() to check for colons in instance variable names - unified name-checking in "nx::var import|exists|set" - extended regression test

Merge branch 'nx-doc' into 2.0.0-develop

- I created a first draft of the nx language manual, based on the new next::doc facilities. It is still incomplete, but demonstrates the use of next::doc for authoring code documentation.

To re-create the language reference (which is not yet integrated into

the build environment), run:

./nextsh tests/doc.xotcl

You will then find an output directory "NextLanguageCore" in your

/tmp/ directory.

- The next::doc comments which are sourced for generating the manual

can be found in generic/gentclAPI.decls and

generic/predefined.xotcl. I tried to add most comments to the

former, as the complexity of the predefined script does not comfort

documentation comments (and vice versa).

- Applied many fixes to the templates (based on the needs of the

language reference)

    • -7
    • +11
    /library/lib/doc-assets/command.html.tmpl
    • -3
    • +3
    /library/lib/doc-assets/object.html.tmpl
    • -1
    • +1
    /library/lib/doc-assets/package.html.tmpl
- migration guide overhaul

- define ensemble-like command for accessing instance variables ::nx::var set ... ::nx::var import ... ::nx::var exists ...

Adding the interim logo

    • binary
    /library/lib/doc-assets/nx.png
- Added a placeholder logo image, to replace the YUI one for the time being - Provided for giving some version information at either the project or package level

    • -1
    • +7
    /library/lib/doc-assets/entity.html.tmpl
- Fixed search box and autocompletion support (for packages and objects) - I allow for selecting/deselecting structural features set "private" ("deprecated" remains to be done) - I added the generation of links between documentation entities based on {{...}} markers. Any marker (code as well as links) can now be used in both description and parts sections.

- Fixed search box and autocompletion support (for packages and objects) - I allow for selecting/deselecting structural features set "private" ("deprecated" remains to be done) - I added the generation of links between documentation entities based on {{...}} markers. Any marker (code as well as links) can now be used in both description and parts sections.

    • -3
    • +3
    /library/lib/doc-assets/entity.html.tmpl
    • -3
    • +9
    /library/lib/doc-assets/object.html.tmpl
- Adding basic support for subcommands (a @subcommand part type; formerly @variant) - Introducing comment reuse and cross-linkage along the class hierarchy upwards ("subclass of ...", showing inherited attributes and methods; using a @superclass attribute) - Amending the documentation of @param and @return with "type" information (checkoptions, constraints, defaults) - Showing both per-class and per-object methods - I now allow for inline- and out-of-line (block) code snippets in the description sections, based on wiki-like {{{...}}} marker annotation (same as in scaladoc2). - Adding support for newline representations in description sections (for a more convenient formatting). - Some bugfixes (e.g., @object-method did not work outside of an initcmd) - Started refactoring the entity tracing procedure (moving from [namespace import] resolution to mixin-based creation tracing)

    • -4
    • +47
    /library/lib/doc-assets/command.html.tmpl
    • -8
    • +140
    /library/lib/doc-assets/object.html.tmpl
- Adding basic support for subcommands (a @subcommand part type; formerly @variant) - Introducing comment reuse and cross-linkage along the class hierarchy upwards ("subclass of ...", showing inherited attributes and methods; using a @superclass attribute) - Amending the documentation of @param and @return with "type" information (checkoptions, constraints, defaults) - Showing both per-class and per-object methods - I now allow for inline- and out-of-line (block) code snippets in the description sections, based on wiki-like {{{...}}} marker annotation (same as in scaladoc2). - Adding support for newline representations in description sections (for a more convenient formatting). - Some bugfixes (e.g., @object-method did not work outside of an initcmd) - Started refactoring the entity tracing procedure (moving from [namespace import] resolution to mixin-based creation tracing)

    • -4
    • +47
    /library/lib/doc-assets/command.html.tmpl
    • -8
    • +140
    /library/lib/doc-assets/object.html.tmpl
- added to git

- don't allow names with namespace separators or colon prefix in importvar/instvar - provide error message, when method (proc scope) is not found - fix array boundaries for looping on variables in importvar/instvar - extended regression test

- provide spacing in conditional assignments

- fix cleanup of subclasses of metaclasses, keeping metaclass property (thanks to Stefan for digging into this)

- Added a first set of documentation templates, based on the the TemplateData engine and the YUI doc styles available from http://yuilibrary.com/downloads/ (see library/lib/doc-assets/*.tmpl.html) - Added a @project entity class, which will become the root concept in a documentation hierarchy. For now, it only serves for some auxiliary purposes when processing the doc templates. - Continued documenting the next::doc package for testing purposes.

    • -0
    • +162
    /library/lib/doc-assets/ac-js
    • -0
    • +42
    /library/lib/doc-assets/api-js
    • -0
    • +242
    /library/lib/doc-assets/api.css
    • binary
    /library/lib/doc-assets/bg_hd.gif
    • -0
    • +44
    /library/lib/doc-assets/command.html.tmpl
    • -0
    • +116
    /library/lib/doc-assets/entity.html.tmpl
    • -0
    • +111
    /library/lib/doc-assets/object.html.tmpl
    • -0
    • +56
    /library/lib/doc-assets/package.html.tmpl
    • -0
    • +7
    /library/lib/doc-assets/reset-fonts-grids-min.css
    • -0
    • +7
    /library/lib/doc-assets/source.html.tmpl
    • binary
    /library/lib/doc-assets/yui.png
- I made sure that the existing HtmlRenderer infrastructure remains functional - Added a simplistic templating machinery (see TemplateData), based on cascading [subst] calls in per-object evals (assuming the nonleaf mode) and a basic templating instruction set (i.e., "let", "for", as well as "?" representing if-elseif-else blocks and "include" for composing template fragments). This will help me to transpose the YUI doc templates more easily (and split them up into template fragments). Also, it will allow future documentation writers to provide custom templates or modifications of existing ones. This was somehow inspired by Kristoffer Lawson "templating engine" in his Spindle web framework, which is solely based on Tcl namespaces, however.