nsf

Clone Tools
  • last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* fix compilation for tcl-head in fossil * deactivate coro regression test, since it is apparently broken for tcl-head in fossil (stack frame seems to be lost after a yield)

* some documentation/todo updates

* fixed bad interaction between filter and parameter alias

* Hopefully the last big naming change: Instead of writing "C class-object method foo {} {...}" one can write now "C class method foo {} {...}" to define a class method named "foo" for class "C". This naming change became possible by defining XOTcl's "class" (and "superclass") as object parameter only. To change a class of an object o, one has to use "o configure -class NEWCLASS". The term "object-class" looks alien to language beginners, the term "class" is much more straightforward. Changing classes or superclasses is seldomly used by typicall application programs.

For already existing nx scripts, changing "object-class" into

class should be straightforward.

* various documentation updates (migration guide, nx tutorial)

    • -16
    • +16
    /library/serialize/serializer.tcl
  1. … 8 more files in changeset.
* added methods ::nsf::methods::object::class and ::nsf::methods::class::superclass in order to make faster and nicer looking objectparameters (compared with forwarders) * nx: changed parameter -class to use ::nsf::methods::object::class * ns: fixed chicken egg problem of method objectparameter needing objectparameter by creating/destroying slot Class::slot::dummy; otherwise default values for slots would not be available * reduced verbosity of parameter forwarder

* provided a fast path implementation for "defaultmethod" * provided default system methods for "init", "defaultmethod" and "unknown" * provided handles for system methods "alloc", "dealloc", "recreate", and "defaultmethod" * strip in dispatch invocations of "unknown" potental leading colons * removed c-level implementation of init again, since scripted one can be used now as well in registration of createobjectsystem * reduced verbosity * added defintions such that these methods can be loaded via ::nsf::method::require ::nx::Object unknown

* added C-implemented method "init" for orthogonality * allow specification of system method handles in nsf::createobjectsystem * automatically register alias, when system-method handle was provided and a same-named method is defined

* removed method residualargs from nx

* reactivated "configure", since we plan to use it more prominently * added a configure flag for "class" * removed method "class" (should be used via "/obj/ configure -class ...")

- remove object.cleanup again

- reduce verbosity

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

nx: * removed methods ::nx::Class.recreate and ::nx::Class.recreate from predefined method-set ::nx::Object.configure from predefined method-set

* added defintions such that these methods can be loaded via

::nsf::method::require ::nx::Class recreate

::nsf::method::require ::nx::Object configure

nsf:

* added CallDirectly() wrapper for calls to "init"

- Provided proper template for hook methods; started partial support for validating Tcl packages (remains to be completeted, i.e., missing and mismatch support) - Fixed rendering for glossary back-references in the light of nested render() calls. - Refactored the rendering of overview lists/status into proper template; show per-project stats - Made @stashed filtering working; some fixes

    • -0
    • +88
    /library/lib/doc-assets/hookmethod.html.yuidoc
    • -0
    • +17
    /library/lib/doc-assets/overview.html.yuidoc
- nx: * removed methods ::nx::Class.alloc and ::nx::Class.dealloc from predefined method-set

* added defintions such that these methods can be loaded via

::nsf::method::require ::nx::Class alloc

::nsf::method::require ::nx::Class dealloc

* make explicit that "method ... require" returns a method-handle

* removed misleading reference in error message, when a class-spefic

method was called on an object; solution is somewhat dangerous for

potentially unknwon client data

* added regression tests

- serializer: catch for object-level alias apparently not needed anymore (search for ns_cache_flush) - silence compilation when compiled without dtrace

- improved misleading error message for method modifiers "public" and "protected", as well as for "class-object" - extended regression test

Activating xowiki export for nsf and xotcl2 docs

- changed names of var handling commands in nsf: ::nsf::existsvar => ::nsf::var::exists ::nsf::importvar => ::nsf::var::import ::nsf::setvar => ::nsf::var::set

- updated TODO

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

- removed hardcoded name "init" from CallConfigureMethod() - improved documentation - removed isInitString()

- @project.html.yuidoc: reflect changes in asset names - body-chunked.html.yuidoc: Added this template, used to generate the chunked, yuidoc-based xowiki output - leftbar.html.yuidoc: Use link template - Renamed ac-js + api-js to ac.js + api.js - Added Monika's api-next.css - library/lib/doc-tools.tcl: for the xowiki renderer, I completed the asset export (requiring a tcllib installation!), some refactoring to allow for rendering xowiki-style links etc. - Revised TODO

    • -0
    • +27
    /library/lib/doc-assets/body-chunked.html.yuidoc
    • -167
    • +0
    /library/lib/doc-assets/yuidoc/ac-js
    • -0
    • +167
    /library/lib/doc-assets/yuidoc/ac.js
    • -42
    • +0
    /library/lib/doc-assets/yuidoc/api-js
    • -0
    • +46
    /library/lib/doc-assets/yuidoc/api-next.css
    • -0
    • +42
    /library/lib/doc-assets/yuidoc/api.js
- Fixed cases of -flag=$value for type switch outside the context of "nsf::procs -ad" - extended regression test

- changed named of method handling commands in nsf: ::nsf::provide_method => ::nsf::method::provide ::nsf::require_method => ::nsf::method::require

- fix typo

- changed named of method handling commands in nsf: ::nsf::methodproperty => ::nsf::method::property ::nsf::method => ::nsf::method::create ::nsf::methoddelete => ::nsf::method::delete ::nsf::alias => ::nsf::method::alias ::nsf::forward => ::nsf::method::forward ::nsf::setter => ::nsf::method::setter (updated regression test, docs, ...)

    • -12
    • +12
    /library/serialize/serializer.tcl
    • -42
    • +43
    /library/xotcl/library/xotcl2.tcl
  1. … 10 more files in changeset.
- updated migration guide

    • -587
    • +1214
    /doc/next-migration.html
- fixed potential crash with -param:switch - added "... info method exists ...."

DTrace * renamed object-create into object-alloc (counterpart of object-free, no confusion with create) * fire probes as well for classes created by the object system