nsf.c

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- generic/nsf.c: DispatchUnknownMethod() In the re-entrant case, the unknown dispatcher was too greedy by skipping the first element in the objv at basically all times. For CallConfigureMethod() case in XOTcl2, the actual method name was so skipped. Generally speaking, the "skipping rules" in DispatchUnknownMethod() feel a touch too particular to me: For instance, the dispatch flag "-local", "-system" etc. must be handled. Also, unknowns in method ensembles have the unknown method listed first in objv. Alternatively, we might review how objc/objv make it into DispatchUnknownMethod() (there are just two call sites). But this would merely shift/spread the skipping. Changing the arg vectors, to begin with, (e.g. removing "-local", "-system", etc. from the objv) would requiring rebuilding the arg vector. - tests/parameters.test: Added a simplistic test case to catch the error reporting for XOTcl 2's residualargs handling.

  1. … 1 more file in changeset.
- nsf.c: fix call of DispatchDefaultMethod() in cases it triggers an error for 8.6b - nx.tcl: give a slightly better error message in case the root-object of an ensemble is called directly

  1. … 2 more files in changeset.
nsf.c: - added method NsfMethodNamePath() to compute the ensemble path in error messages - reduce verbosity - extended regression test

  1. … 4 more files in changeset.
- minor reformatting

nsf.c: - removed conditionals in AddInstance() and RemoveInstance() - dropped result from RemoveInstance()

  1. … 1 more file in changeset.
- Replaced hash-table for GetAllInstances() with a linear list. As a result, mass-destroy on exit is now much faster. Valgrind reports that the full cicrcle of creating 100.000 objects and destroying it on exit became about 15% faster. - added additional argument adEnd to CmdListAdd() - renamed CmdListRemoveList() to CmdListFree() - improved code documentation - removed unneeded AddInstance() and RemoveInstance() - deactivated uncalled ReverseLookupCmdFromCmdTable() and GetHiddenObjectFromCmd() since apparently not needed any more

  1. … 1 more file in changeset.
- fix requiredness of subcmd in "info method subcmd"

  1. … 2 more files in changeset.
- generic/nsf.c: SuperclassAdd() Make sure that we do not free a class structure prematurely, in an error path. Crashed in a --enable-symbols=mem built.

- handle preallocated namespace - fix a small memory leak of a varname

- fixed bug with recursive aliases - extended regression test

  1. … 2 more files in changeset.
Revert "- Changed "Institute of IS ..." to "Institute for IS ...""

  1. … 11 more files in changeset.
- run FilterInvalidateObjOrders() only, when filters are/were defined

  1. … 2 more files in changeset.
- Changed "Institute of IS ..." to "Institute for IS ..."

  1. … 11 more files in changeset.
- update copyright notices with MIT licens from OSI (http://www.opensource.org/licenses/MIT)

  1. … 26 more files in changeset.
nsf.c: - reduce number of RUNTIME_STATE(interp) in favor of a variable. - make time of the definition of a method independent on the number of defined instances (unless, when filters are defined)

  1. … 2 more files in changeset.
- renamce NsfObject->filters and mixins to objFilters and objMixins

  1. … 1 more file in changeset.
- added function CmdListAddSorted() to improve mixinof management

  1. … 1 more file in changeset.
- adding method epoch incr to NsfAddObjectMethod() and NsfAddClassMethod()

  1. … 1 more file in changeset.
- cleanup "//" in sources

  1. … 4 more files in changeset.
- added "info method handle" as short form of "info method definitionhandle" - added "info method origin" to return the target of an alias (or empty)

- update migration guide and tutorial

  1. … 7 more files in changeset.
- rename "info method handle /methodName/" into "info method registrationhandle /methodName/" - rename "info method origin /methodName/" into "info method definitionhandle /methodName/" - added "info method origin" to return the target of an alias (or empty)

  1. … 19 more files in changeset.
- nsf.c: extended "new": * nonpos-arg "-childof" accepts now a namespace (required an object before). Thefore, one can use now "... new -childof [namespace current]", even when the current namespace is not an object

  1. … 2 more files in changeset.
- update copyright notice

- ensure to export only symbols starting with nsf

  1. … 2 more files in changeset.
- further cleanup of C code, adding asserts

  1. … 2 more files in changeset.
- make "clang -pedantic" silent

- change comment style

- generic/nsf.c: Make sure that the conditional macro NSF_WITH_VALUE_WARNINGS covers all code junks of this feature. - generic/nsfError.c: Added colon-prefix awareness to NsfDStringArgv()

  1. … 2 more files in changeset.
- minor cleanup

-nsf.c: - remove quadratic behavior when adding many classes (10 thousands) - deletion is still for huge number of classes quite slow.