nsf.c

Clone Tools
  • last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Suppress cppcheck warning: adding explicit int cast

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- handle case that showed up with Zoran during final shutdown: in case, an object is deleted after the interp is deleted (which should not happen), don't crash.

Suppress cppcheck warning: reduce variable scope

Some verbosity for tracing issue

  1. … 1 more file in changeset.
- cleanup up and improve debug statements - add generated code

  1. … 2 more files in changeset.
Rename one more 'bool' identifier

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

In MSVC 14 (Visual Studio 2015) and newer, 'bool' is a proper type, not a typedef anymore. 'bool' cannot be used as identifier anymore (C2632)

- add new command nsf::parseargs to parse an argument vector against a parameter definition and to set the resulting variables in the current scope - extend regression test

  1. … 5 more files in changeset.
- change "struct timeval" to "Tcl_Time" and gettimeofday() to Tcl_GetTime() in profiling code to improve portability (esp windows)

  1. … 3 more files in changeset.
Address two more gcc6 pedantic warnings

- move initializations after nonnull asserts

  1. … 2 more files in changeset.
- move initializations after nonnull asserts

- ease life of static checkers

- removed one more possible NULL comparison with a non-null value

- adding refcount handling before+after the call of NsfCallObjectUnknownHandler()

- Let nsf create classes with ::nsf::object::unknown handler in the fly, when c-function are called with objects of type class. This is necessary for triggering creation attempts in ttrace via ::nsf::object::alloc SOMECLASS SOMEOBJ

  1. … 2 more files in changeset.
- turned all for-loops controlled over a nonnull value into while loops - updated TODO, copyright notices, version number

  1. … 11 more files in changeset.
- turned all for-loops controlled over a nonnull value into while loops.

  1. … 1 more file in changeset.
Slot trace reform: - redesign of slot interface of traces from * variables contains cmds and variable references to * slot specific methods with the same interface as slot-setters - new: * specify flag "-trace" with a list of values "get", "set", "default" * when flag is set, a trace will be registered calling methods value=get obj variable value=set obj variable value value=default obj variable on the slot (actually the first two are identical with the methods used for slot-defined accessors) - updated regression test * new flag "-notrace" for "nsf::var::set" and "nsf::var::get"

  1. … 9 more files in changeset.
- make sure to reset prevPreventRecursionFlags to value before the call

- changed interface of NsfDStringEval to control behavior via bitflags (this is after all more readable than a argument list of "0" and "1"s) - added optional recursion prevention for functions called via NsfDStringEval (handling NSF_EVAL_DEBUG, NSF_EVAL_LOG, NSF_EVAL_DEPRECATED) - added regression tests for potential recursive calls

  1. … 5 more files in changeset.
- return fully qualified name for "::nsf::cmd::info definition" when called on plain procs

- prefer boolean expressions in assert() statements

  1. … 1 more file in changeset.
- make sure, we do not pass null values to nonnull arguments

  1. … 1 more file in changeset.
- replace all remaning ObjectName and ClassName with variant with trailing "_" when appropriate - allow nsf::procs with zero arguments or plain arguments (when "-debug" is used - extended regression test - bump version number to 2.1

  1. … 7 more files in changeset.
- nx: added flag "-debug" and "-deprecated" to methods "method" "object method" "alias" "object alias" "forward" "object forward" such one can use e.g. /cls/ public alias -deprecated|-debug /method/ ... /cls/ public forward -deprecated|-debug /method/ ... /cls/ public method -deprecated|-debug /method/ ... /obj/ public object alias -deprecated|-debug /method/ ... /obj/ public object forward -deprecated|-debug /method/ ... /obj/ public object method -deprecated|-debug /method/ ...

- added new cmd:

nsf::method::property /obj/ ?-per-object? /method/ exists

to check, whether a method is defined for an object.

- output triggered via "-debug" is now generated via the

tcl functions "nsf::debug::call" and "nsf::debug::exit",

that can be redefined (similar to e.g. nsf::deprecated)

- cleanup of nsfProfile.c commands

- extended regression test

  1. … 13 more files in changeset.
- handling "deprecated" and "debug" properties for nsf::proc (in "nsf::cmd::info definition /proc/" and serializer)

  1. … 3 more files in changeset.
- added nsf::method::property /obj/ /method/ debug ?0|1? when debug is activated, a debug line written to the log file when the function is called and exited

- added nsf::method::property /obj/ /method/ deprecated ?0|1?

when deprecated is activated, a warning written to the log file when

the function is called

- added flags to nsf::proc: -debug and -deprecated

(can als be set via nsf::method::property with an arbitrary object

and proc passed fully qualified)

- bumped version number to 2.0.1

  1. … 11 more files in changeset.