tests

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* fixed bad interaction between filter and parameter alias

  1. … 3 more files in changeset.
* 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)

  1. … 13 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

  1. … 5 more files in changeset.
* 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

  1. … 6 more files in changeset.
* removed method residualargs from nx

  1. … 2 more files in changeset.
* 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 ...")

  1. … 3 more files in changeset.
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"

  1. … 3 more files in changeset.
- 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

  1. … 7 more files in changeset.
- improved misleading error message for method modifiers "public" and "protected", as well as for "class-object" - extended regression test

  1. … 2 more files in changeset.
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

  1. … 8 more files in changeset.
- Fixed cases of -flag=$value for type switch outside the context of "nsf::procs -ad" - extended regression test

  1. … 3 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::provide_method => ::nsf::method::provide ::nsf::require_method => ::nsf::method::require

  1. … 5 more files in changeset.
- 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, ...)

  1. … 14 more files in changeset.
- fixed potential crash with -param:switch - added "... info method exists ...."

  1. … 6 more files in changeset.
- added first version of "nsf::methoddelete" - extended regression test - updated TODO

  1. … 3 more files in changeset.
DTrace: handle self->tracing in D scripts (and in dtrace/sample.tcl, tests/object-system.tcl)

- extend regression test

  1. … 1 more file in changeset.
- Altered Nsf_NextHashEntry() to re-init hSrchPtr when the number of expected entries differs from the number of real entries. This fixes a bug that Michael Aram detected, that happens when multiple hash buckets exist, but on deletion of an hash entries triggers some other deleted from the same hash table. - extended regression test.

  1. … 2 more files in changeset.
- Added a first version of an xowiki renderer - Reworked the renderer infrastructure to allow for refining templates between renderers (e.g., xowiki-like links in the yuidoc theme etc.) introduces - Templates can now also be defined, stored, and maintained through Tcl scripts (rather than separate template files only). - Clarified the concepts of theme/layout/renderer etc. Major cleanup. - yuidoc: Fixed an issue with setting filter css classes while no filter checkboxes are available.

  1. … 12 more files in changeset.
Removed noinit from the filter list

- Reactivated and extended the filtering support around the yuidoc theme. One can now filter according to various entity states (deprecated, missing, mismatch, protected, ...) - filter.html.yuidoc: Refactored the checkbox battery into a proper template. - Fixed some typos in templates - library/lib/doc-assets/yuidoc/ac-js: Refined the checkbox/visibility mechanism to honour defaultChecked states of checkboxes. - library/lib/doc-assets/yuidoc/api.css: checkbox/visibility selectors are now based on composite class selectors. - Removed @modifier and related selection statements throughout the code. Background: The call-protection state is inferred during verification, so there is no need to actually declare a method protected. Also, filtering in the templates breaks orthogonality when it comes to rendering doc entities at various spots (leftbar, ...). Method filtering can be applied during the initial processing step or visually in the final output. - Added print names for per-object methods

  1. … 12 more files in changeset.
- Simplified the render()/include() mechanism: I provide for some context-aware auto-completion of template specifics (name, format, theme). This avoids declaring template specifics redundantly. - For this purpose, renamed some of the templates to reflect their doc entity names: @object -> @object.html.asciidoc|yuidoc. - Theme-specific assets are now stored in a subdir of doc-assets/, named after the theme: doc-assets/yuidoc, doc-assets/asciidoc. - Adding the asciidoc assets subdir, including the asciidoc css - Renamed the theme "tmpl" to "yuidoc": This required to change the corresponding template extensions (*.tmpl -> *.yuidoc) and the include()/render() statements throughout the templates. - Removed the unneeded source.html.tmpl

  1. … 52 more files in changeset.
- added experimental flag WITH_IMPORT_REFS to deactivate automated alias deletion (seems, that this solves all issues we had before) - added flushing of bytecode on alias registration - added regression test

  1. … 2 more files in changeset.
- added flag to AliasGet() to leave optional error message if alias data is removed - some cleanup in NsfProcAliasMethod(): handle not existing alias data, more careful refcounting

  1. … 2 more files in changeset.
- added regression test

  1. … 1 more file in changeset.
- use NsfCommandPreserve/NsfCommandRelease for tcd->aliasCmd as well. In case of epoched cmdPointers, refetch the cmd and it client data.

  1. … 2 more files in changeset.
- check in correct version

- nx.tcl: added default/initcmd for ObjectParameterSlot - added ::nx::Object as default for "superclass" slot to make default superclass explicit - unified interface for getParameterOptions - extended regression test

  1. … 4 more files in changeset.
- nsf.c: fixed a nasty bug within namespace deletion, when a deletion of one tcl cmd caused implicit deletions of other cmds in the same namespace. The classical idiom for looking over hash tables with Tcl_GetHashValue() and Tcl_NextHashEntry(hSrch) can lead to crashes (and has different behavior depending on the number of buckets). - added regression test

  1. … 3 more files in changeset.