nsf.c

Clone Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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

- silence cppcheck

  1. … 2 more files in changeset.
- add more assertions - ensure computation of requires orders for recursive merges

  1. … 1 more file in changeset.
- strip trailing spaces

- get rid of potentially uninitialized variables

- make compiplation more clean - add assertion for validity checking of precedence lists

Fixing a mini-typo in nsf.c: unlinkely -> unlikely

- made linearization monotonic (for multiple inheritance) via single-inheritance linearization merging while preserving overall linearization rules - added flag NSF_LINEARIZER_TRACE - extended regression test

  1. … 4 more files in changeset.
- nsf: added switch "-checkalways" to nsf::method::create - nx: added switch "checkalways" to "method" and "object method" - extended regression test

  1. … 7 more files in changeset.
- minor cleanup: * reduce variable scope * remove uncalled static function

-added flag -checkalways to nsf::proc and nsf::asm::proc (for the latter just a placeholder for now). If the flag is used, it will cause argument testing independently from the "configure checkarguments" setting. To force argument checking always is useful e.g. for checking external values (e.g. in a web server)

  1. … 4 more files in changeset.
Realized enter traces for method procs; leave traces remain TBD

  1. … 1 more file in changeset.