nsf.c

Clone Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
nsf.c: - simplify few inner code pieces based on assertions - add serveral more assertions based on nonnull sepcifications.

  1. … 4 more files in changeset.
- use nx rather than xotcl2 terminology in nsf::method::forward

  1. … 8 more files in changeset.
- renamed "-methodprefix" to "-prefix" in nx, since the prefix can be applied as well applied to a cmd.

  1. … 4 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- nsf.c, NsfForwardMethod(): Make sure that a 2nd argument is available for prepending the methodprefix. Earlier, NSF crashed in case of a missing 2nd arg. - Added some basic tests on -methodprefix.

  1. … 2 more files in changeset.
- use nonnull variable attributes for prototpyes (nsf.h, nsfInt.h, nsf.c)

  1. … 3 more files in changeset.
nsf.c: - de-spaghetti precedence computations for multiple inheritance and improve documentation - get rid of // comments

  1. … 1 more file in changeset.
- deactivated "-onerror", since its semantics are expressible via try/catch, and there are no regression tests for xotcl and nx, and we could not find any script that uses this

  1. … 4 more files in changeset.
- use in forwarders "-frame object" instead of "-objframe" in nx for consistency with other calls (e.g. dispatch). Other values for "-frame" are not allowed. (btw, XOTcl has "-objscope")

  1. … 4 more files in changeset.
forwarders: - use for output of forward ... -verbose NsfLog(...NSF_LOG_NOTICE...) instead of fprintf() to make it redirect-able

  1. … 1 more file in changeset.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb

  1. … 13 more files in changeset.
- remove redundant NULL tests - improve safety mof macro ObjStr()

  1. … 1 more file in changeset.
- improve code documentation - add some more tests to the regression test suite

  1. … 2 more files in changeset.
- generic/nsf.c: Avoiding excessive allocation/deallocation of temporary hash tables when invalidating per-class objparam caches in NsfParameterInvalidateClassCacheCmd().

- generic/nsf.c: Use GetAllClassMixinsOf() instead of TransitiveSubClasses() when invalidating per-class caches. Added two tests.

  1. … 1 more file in changeset.
nsf.c: - invalidate paramter caches of subclasses on NsfParameterInvalidateClassCacheCmd unless during shutdown. Otherwise some classes might not become aware of properties added later to superclasses. - extended regression test

  1. … 4 more files in changeset.
Fix patch

  1. … 1 more file in changeset.
nsf.c: - fix case, where NsfDStringPrintf() failed (when print llength including \0 was 1 byte longer than print buffer) - make sure, that the list kept for the cached parameter is just built from unshared objects; otherwise Tcl append will abort

nx.tcl:

- new package "nx::volatile"

- don't define configure parameter "-volatile" per default;

use "package req nx::volatile" instead

- don't define per method "volatile" per default;

use "::nsf::method::require ::nx::Object volatile" instead

- get rid of -volatile in nx.tcl and serializer

- update/extend regression test

  1. … 13 more files in changeset.
nsf.c: - let [current methodpath] return full path (similar to -path option in "info methods" - handle collateral damage in regression test due to changed result of "current methodpath"

  1. … 4 more files in changeset.
nsf.c: - fix small memory leak in multiple inheritance code. - all regression tests reun cleanly with --enable-memcount=yes

  1. … 1 more file in changeset.
- add incr/decr refcount for callInfoObj in unknown handling - deactivated suspicious assert() in NsfMethodNamePath()

  1. … 1 more file in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

  1. … 2 more files in changeset.
nsf.c: - change name of enumeratorConverterEntry to Nsf_EnumeratorConverterEntry, move it with NSF_ARG_* flags to tcl.h to make it available in derived modules using the converter - Added editor hints for a more uniform appearance

  1. … 44 more files in changeset.
- At two or three locations, we used to compute the method path using different helpers (CallStackMethodPath, NsfMethodNamePath) etc. I tried to unify this by revising NsfMethodNamePath to accomodate the different uses.

- Besides, for required-argument checks, I included the method path

(for ensemble invocations) into the error messages.

  1. … 2 more files in changeset.
- in case of multiple inheritance, make sure that all supporting classes haver already a procedence order defined

- reduce verbosity for FreeUnsetTraceVariable - return TCL_OK, even when FreeUnsetTraceVariable() fails (warning stays)

  1. … 1 more file in changeset.
- fix stub provisioning for Tcl 8.6.*

  1. … 2 more files in changeset.
nsf.c: - when ::nsf::object::alloc is passed an empty name (2nd argument), behave like "new" method

nsf.c: - new command ::nsf::object::alloc /class/ /obj/ ?/script/? alloc an object and execute script in the context. Can be used to regenerate an object in a old state.

serializer:

- fixed loading of objects with required data in the blueprint

(many thanks for david hopfmueller for reporting this)

- make use of nsf::object::alloc (1 command instead of 1 create + 2 evals)

- these changes imprived laading time of blueprint by about 25%

for OpenACS+xowiki

  1. … 9 more files in changeset.
- make test for retrieving parsed parameters more safe