nsf

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

- prefer boolean expressions - reduce implicit conversions - wite body of if-statements as blocks - whitespace changes - update licenses

- support building nsd from some other directory than the root directory - raise no error, when nsf is built with mongo + profile enabled

- improve robustness of destroy: in case an error happened in a destroy method in implicit delete operations, a crash was possible, since the state of the object to be delete was somewhat unclear (it might or might not have been deleted). Now, the object is explicitly kept longer around to allow proper handling).