nx.tcl

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- replaced "-objscope" and "-nonleaf" by "-frame object|method|default" for nsf::alias and nsf::default - added functionality for "-frame method" to nsf::dispatch - made the order of argument in ::nsf::alias and method "alias" the same (always first the method, then "-frame ...") - extened regression test

  1. … 15 more files in changeset.
- added support for aolserver (essentially Makefile + aol-xotcl.tcl) - removed unneded content from serializer output

  1. … 4 more files in changeset.
- Implemented built-in-converter for "baseclass" and "metaclass". Change in performance for this call. >8 times faster before: parameters/parametercheck.007: 19.49 mms, ::nsf::is baseclass C after: parameters/parametercheck.007: 2.32 mms, ::nsf::is baseclass C - remove scripted definition of "baseclass" and "metaclass"

  1. … 3 more files in changeset.
- changed option -expand in "info methods" and "info lookup methods" into "-path" to associate with the method path - changed method property name from "protected" to "call-protected" - changed nx::defaultMethodProtection to nx::defaultMethodCallProtection - nx::defaultAttributeProtection is used for scripted methods, forwarders and aliases - added nx::defaultAttributeProtection, used for setter and attributes

  1. … 17 more files in changeset.
- changed option -expand in "info methods" and "info lookup methods" into "-path" to associate with the method path

  1. … 6 more files in changeset.
- cleanup of __resolve_method_path - change TclShowStack into NsfShowStack() to avoid possible interference with the Tcl* namespace - made the following function static to avoid pollution of the global link namespace: CompiledColonVarFree(), GetRegObject(), ParamGetType()

  1. … 4 more files in changeset.
- Methodpaths can be used now in the definition of "method", "alias" and "forward." We do not support it for "setter" and "attribute", since these require a parameter spec, which does not have clear semantics for a method path. - scripted definition of nx::Object.forward and nx::Class.forward

  1. … 3 more files in changeset.
- added syntax "?arg ...?" in parametsyntax output for "args" - removed "info forward" from nx::Object and nx::Class (can be replaced by "info methods" and "info method")

  1. … 6 more files in changeset.
- allow %method in forwarder. - defined unknown methods as call-protected - make __default_method_protection protected

  1. … 4 more files in changeset.
- push stack frame before calling the defaultcmd of an ensemble object to make implementation more simple. - simplified EnsembleObject.defaultcmd and EnsembleObject.unknown significantly, scripted support methods are removed. - extended regression test

  1. … 3 more files in changeset.
- nsf::current: new option "methodpath", returns the full name of an ensemble method starting from the ensemble root. - documented functions in nfsStack.c - removed obsolete CallStackGetFrame(), replaced by CallStackGetTopFrame()

  1. … 5 more files in changeset.
- provide full set of ensemble methods from EnsembleObject.unknown (i.e. from all classes along the precedence order. It was necessary to pass calling object as first argument)

  1. … 3 more files in changeset.
- "info lookup methods": order of non-pos parameters alphabetically - added option "-expand" to "info lookup methods ". It collects ensemble methods along the precedence path - added support for ensemble methods in "info lookup method" - extended regression test

  1. … 5 more files in changeset.
- nsf.c: use name "varTablePtr" instead of "varTable" when referring to the table - new option "slotcontainer" for "methodproperty" to flag slotcontainer to make them easier to process in the serializer . don't report slot container in "info methods -expand" - new function "::nx::isSlotContainer" to centralize checking for slotcontainers (used by serilaizer) - support export of method ensembles in serializer

  1. … 9 more files in changeset.
- new option "-expand" for "obj|class info methods" to return compound names (i.e. it lists the full ensemble names) Example: ::nx::Object info methods -expand "*filter*" returns filter {info filter guard} {info filter methods} {info lookup filter} - allow ensemble names in nsf::methodproperty - fix compound name lookups when aliases link to shared ensemble objects - make objectName() NULL-safe - fix option "-source application" when applied directly on base-classes - extend regression test

  1. … 6 more files in changeset.
- slots: * change name "initcmd" of "experimental slot features" to "defaultcmd" to avoid naming conflict the the initcmd executed at the initilization of a slot object (effects XOTcl as well) * make defaultcmd/valuecmd/valuechangedcmd working for nx (absence of trace method) * provide error message, when default/defaultcmd/valuecmd are used non-exclusively * make sure to init per-object slots after copy operations * make nx::Attribute.destroy more definsive * extend test cases

  1. … 4 more files in changeset.
- added public|protected to output of "info method definition" (needed to make serializer more sane, neccessary on the longer range)

  1. … 6 more files in changeset.
- fix for the bug reported by Neil Hampton - added regression test

  1. … 1 more file in changeset.
- renamed/removed remaining ::nsf::commands with capitalized names: parametersFromSlots ==> parametersFromSlots unsetUnknownArgs ==> __unset_unknown_args infoError removed - renamed predefined.tcl into nsf.tcl - remaining cmds in nsf (except __*) containing "_": ::nsf::provide_method, ::nsf::require_method

  1. … 12 more files in changeset.
- removed capitalization from exit handler interface - reduced interface of exithandler to ::nsf::exithandler set|get|unset ?arg?

  1. … 10 more files in changeset.
- renamed ::nsf::cmd::ObjectInfo into ::nsf::methods::object::info - renamed ::nsf::cmd::ClassInfo into ::nsf::methods::class::info

  1. … 9 more files in changeset.
- changed internal method name requireNamespace to "require_namespace"

  1. … 4 more files in changeset.
- removed third level from libary/pkgIndex.tcl (not needed)

  1. … 2 more files in changeset.
- Big internal changes for handling nre-enabled procs in more situations. Handles now all nx regression tests, but fails in testx.xotcl (just nre-enabled)

  1. … 10 more files in changeset.
- removed unneeded line

- made methods (for now just scripted methods) by default protected. - provide methode __default_method_protection to obtain the default method protection when neither protected or public is used. - per default methods are now protected - provide ::nx::configure defaultMethodProtection true|false as conveniant interface - update regression test and serializer to handle default protection

  1. … 16 more files in changeset.
- new nsf::next cmd. receives 0 or 1 argument, which might be a list of arguments. This avoids ambiguity of ::xotcl::next with "--noArgs". - renamed namespace_copycmds and namespace_copyvars to nscopycmds and nscopyvars (we don't use "_" in nsf::*-names as delimiters elsewhere) - renamed __qualify to qualify (it is a non-exported cmd)

  1. … 6 more files in changeset.
- remove useless line

- renamed "parameter" into "attributes" in nx - renamed "info parameter" into "info attributes" in nx - updated migration guide - fixed several common typos

  1. … 13 more files in changeset.
- removed overhead on ::nsf::dispatch when called with absolute paths - absolute paths have to start with ":".

  1. … 2 more files in changeset.