nsf

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

- nx: added options "-debug" and "-deprecated" to methods "method" and "obejct method", such one can use e.g. C public method -deprecated bar {} {return 1} - extended regression test

- nx: added new introspection options /cls/ info method debug /cls/ info method deprecated /obj/ info object method debug /obj/ info object method deprecated - extended regression test

- update TODO

- describe next steps

- handling "deprecated" and "debug" properties for nsf::proc (in "nsf::cmd::info definition /proc/" and serializer)

- documented purpose of TODO-file - fixed typos in TODO

- 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

- update file name

- new introspection method: "/obj/ info baseclass" - extended regression test

- new introspection methods: "/obj/ info object method callprotection /m/" "/cls/ info method callprotection /m/" - extended regression test

- fix ::Serializer->methodSerialize when called for per-object methods

- fix editing bug in documentation

- New macros NSF_nonnull_assert() and nonnull_assert() Background: The unreleased gcc6 with "-pedantic" complaints since recently about asserts, in which nonnull conditions implied by nonnull declarations are explicitly tested, and spits out warnings like ... warning: nonnull argument ... compared to NULL ... The new macros turns off asserts, when gcc6 is used.

Profile trace enhancements: - add optional argument "-builtins" to nsf::__profile_trace to trace a selected list of builtins. Every element of the list passed to "-builtins" might contain a cmd name and optionally a maximum number of arguments to be shown (typically 0 or 1) - generalized NsfReplaceCommand* logic to become more general usable (e.g. for the builtins mechanism of nsf::__profile_trace)

- remove redundant prototype

- update change history in todo

- Use standard logging for nsf::__profile_trace ... -verbose true ... By using the standard logging mechanism, we can redefining ::nsf::log to output e.g. trace in a GUI. - Add argument "-dontsave" to nsf::__profile_trace to avoid saving trace in memory - Refactor trace and debug output to deliver lists. This makes it easier to postprocess the results from Tcl.

- place arguments of preprocessor macros into parens

- silence cppcheck 1.71

- keep Tcl error messages, when Tcl_ObjSetVar2() fails.

- handle result of Tcl_ObjSetVar2() in all cases

- don't swallow errors triggered from variable write traces in configure

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

- Fixed a bug that disallowed the combination of valuecmd and valuechangedcmd for a single property (many thanks to Zoran for pointing this out)

Removed implicit substdefault for configure parameters in nx:

- The syntax of substdefault for method parameters and configure

parameters was different. For method parameters, it was necessary to

specify :substdefault per parameter to activate it, for configure

parameter is was based in the XOTcl tradition on the content of the

default (whether it contains [...]) One problem is, that there was

no easy way to turn this feature off. If one wants to provide a

script block as a default, it was necessary to escape all square

brackets.

- Now, in nx, one has to specify :substdefault for configure

parameter explicitly as well, syntax for configure and method

parameters is the same.

- XOTcl 2.0 keeps implicit substdefaults (backward compatible)

- fix bug: never try to substdefault, when there is no default given.

- white space change

- whitespace change

In certain build situations, we might still run under Tcl 8.4 (because it comes as a legacy OS battery). Tcl modules are >= 8.5 only.

- new command nsf::method::forward::property in analogy to nsf::method::property for reading+writing introspection of forwarders (important for serializer, when different target objects are specified, to map the per-object forwarder) - extended regression test - bumped version number of serializer to 2.1

    • -36
    • +68
    /library/serialize/serializer.tcl
- reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - prefer boolean expressions - add likely/unlikely hints