nsf

Clone Tools
  • last updated 15 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- changed CallStackGetActiveProcFrame() to return also CMETHD frames This allows to execute :volatile in a initcmd and to delete the object at its end. As a consequence, code like [CopyHandler new -volatile] copy [::nsf::self] $newName has to be changed to CopyHandler new { :copy [:uplevel ::nsf::self] [uplevel set newName] :destroy } - renamed CallStackUseActiveFrames() to CallStackUseActiveFrame() and ctx->framesSaved to ctx->frameSaved to reflect implementation

- removed debugging from CscFinish when compiled without DEVELOPMENT

- remved debugging from NsfCleanupObject when compiled without DEVELOPMENT

- added regression tests for destroy-during-init

- renamed nx regression tests .test to follow tcl conventions

    • -0
    • +546
    /tests/alias.test
    • -0
    • +634
    /tests/destroy.test
    • -0
    • +1144
    /tests/doc.test
    • -0
    • +390
    /tests/forward.test
    • -0
    • +402
    /tests/info-method.test
    • -0
    • +185
    /tests/interceptor-slot.test
  1. … 21 more files in changeset.
- extended regression tests for aliases to procs

- allowed public|protected for method deletion such as "Object public method foo {} {}" - removed defaultMethodCallProtection in alias test

- fixed bug when calling aliased proc not via method interface - fixed bug when calling destroy in initcmd

- added a few more small optimization. - code-generator: don't call argument parser, when no arguments are specified

- Adding some tests on the interactions between our var resolvers and link-creating commands: [variable], [upvar], [global], ... - Amended the in-code documentation for InterpColonVarResolver(), InterpCompiledColonVarResolver() and CompiledColonVarFetch(). - Found another AVOID_RESOLVERS victim: [namespace which -variable /varName/]

- removed bug-alert from nx.tcl (wrong false-positives for compiled locals in slots) - added a few small optimization. nsf appears to run on the shootout benchmark the same speed like a year ago (which much less functionality)

- removed bug-alert from nx.tcl (wrong false-positives for compiled locals in slots)

- implemented exported command ::nsf::self as fast conveniance replacement for "::nsf::current object".

- make exit more silent, when not debugging

- don't relay on gcc extensions

- make sure, standard pre-processors can process this file

- Providing a fix (and some analysis documentation) for the prefixed-(":")-variable resolution, making the entire mechanism more robust under situations of var resolvers for compiled and non-compiled script execution interacting. - Added a first sample test (which documents the motivating issue observed for AOLserver vs. NaviServer) - Further testing and documenting are pending

- Added a missing squared brace in the serializer - Made sure that alias definitions are properly serialized: Starting at a cutoff of 2 did not reflect the change of access modifiers being reported in the alias definition string. Therefore, the cutoff referred to the alias method itself, leading to an erroneous ::nsf::alias statement being generated.

- make sure not to return CompiledLocal vars from InterpColonVarResolver() when TCL_NAMESPACE_ONLY is requested. - delegate always from InterpColonVarResolver() to other resolvers, when TCL_NAMESPACE_ONLY is requested.

- provided parametersyntax definitions for XOTcl 2.0 similar to nx for all methods without a spec (e.g. fur builtin Tcl cmds, forwarders)

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- follow current Tcl vonvention for patchlevel var: - changed name of ::nsf::patchlevel to ::nsf::patchLevel - changed content ::nsf::patchLevel from eg .0 to full number including release details

- fixed bug in ::variable with colon-prefixed name

(shadowCommands does not help, see above)

- removed traces of Nsf_VariableObjCmd()

- extended regression test

- Corrected the link generation for autocomplete/search entries in case of @use chaining and made them location-independent - Removed an superfluous div-closing tag in class.html.tmpl - Refactored the backend code for the auto-completion search box, separating the concerns of rendering the JS array of hashes and serialising entities into a dict representation. The latter allows to discriminate entity-specific rendering behaviour (together with the mixin layer facility). - Added the entity type (its pretty name) to the search results presented to the doc user. - Removed the unwanted "::"s from @project and @package names.

    • -50
    • +47
    /library/lib/doc-assets/class.html.tmpl
    • -1
    • +1
    /library/lib/doc-assets/entity.html.tmpl
- Switch to print_name() for rendering entity names for the search box - Fixed the @parameter generation in method.html.tmpl - @glossary: Support for referencing glossary entries with certain formatting annotations: @gls (minor letters only), @Gls (title), @glspl (plural), @Glspl (title plural), ... Added explicit acronym rendering (long and short forms): @acrfirst, @acr; fixing an id-generation issue for @glossary entities - Completed the first round of amending nx.nxd with @glossary entries and references. - I got rid of curly braces ("{", "}") as marker symbols ("{{...}}", "{{{ ... }}}") for formatting fragments of comment blocks. They proofed sufficiently hairy due to their heavily loaded meaning for the Tcl parser (the unclosed brace issue in Tcl comment blocks, the list-like processing in our comment block parser, ...). Instead, I introduced <<...>> for link-like elements (anchors, glossary references) and MediaWiki-like '''...''' blockmarkers for code listings. Thanks to Victor Guerra for reviewing and discussing this concrete-syntactic design decision. - Increased the robustness of line-by-line parsing for comment blocks. Within the comment block parser, we operate on comment lines as Tcl lists (lindex, lassign, ...). While convenient from a processing perspective, this risks limiting the degrees of freedom when writing comments (e.g., using tabs and spaces to indent inline, grouping words to form lists of lists, ...). By leveraging "args" argument processing through [apply] for line preprocessing, we balance the two requirements. - Verified that @use works between objects and methods. - Some cleanup in the mixin layer code - Resolve interp-alias chains to entity class objects explicitly - Adjusting the Container/Containable mechanism to apply only to part classes relevant to particular container entities. - Fixing support for package rendering as top-level entities (e.g., in the leftbar menu) - Providing the project object to all entities subject to template processing. - Declaring some forwarders public explicitly (to reflect recent changes in the reach of default call protection)

    • -1
    • +1
    /library/lib/doc-assets/leftbar.html.tmpl
    • -2
    • +2
    /library/lib/doc-assets/method.html.tmpl
    • -3
    • +3
    /library/lib/doc-assets/package.html.tmpl
    • -143
    • +300
    /library/lib/doc-tools.tcl
- made handling of unstacked entries optional by defining macro CHECK_ACTIVATION_COUNTS) - added macro NSF_DEVELOPMENT for toplevel handling if NDEBUG and CHECK_ACTIVATION_COUNTS - cleanup of method-modifiers.tcl - updated next migration guide

- added handling of unstacked csc entries (removed all DEBUG warnings).

- copied decls for objectMethod and classMethod as comments to nsf.c, fixed order - documented a few functions

- use "nsf::configure debug" for value 1: compain about protected value >1: provide load messages for nx and xotcl - unset unneeded variables in ::nx namespace

- fix requiredness of several info methods - added "nsf::configure debug ?level?"

- renamed some arguments of tcl interface to increase consistency - make requiredness explicit for nsf::cmds - introduce ::nsf::parametersyntax to provide syntax for potentially missing definitions - provided ::nsf::parametersyntax for 3 ::nsf commands and 7 nx methods (from relationslots)