nsf.c

Clone Tools
  • last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* nsf.c (NsfCCreateMethod): Fix access of potentially freed object to set the autonamed property (indicated by valdgrind). When destroyed and cleaned during DoObjInitialization, "newObject" will remain as a dangling pointer. Besides, setting the property before DoObjInitialization will make the object property available from within the initcmd or init method.

* nsf.c (NsfProcStubDeleteProc): Plug leakage of command structure (found by valgrind)

muniro formatting changes

* nsf.c (NsfDebugShowObj): For consistency, stick with %x using PRIxPTR

*nsf.c (NsfDebugShowObj): Simplify from using %x to %p, to avoid PTR2UINT (which, starting with 8.7, will return u long, not u int)

Change http:// occurrences to https://, if applicable (URLs tested)

  1. … 57 more files in changeset.
Rewrite URLs containing tcl.tk as authority to tcl-lang.org

  1. … 13 more files in changeset.
move new assertion to the right place

ease human tracing of uninitialized/NULL values

* nsf.c (NsfOUplevelMethod, NsfOUpvarMethod): Silence compiler warnings on nonnull/NULL compares.

* nsf.c (NsfOUplevelMethod, NsfOUpvarMethod, NsfCallstackFindCallingContext): Reform of uplevel and upvar methods, based on the recent feedback by Zoran. First, uplevel and upvar methods, as well as [current callinglevel] now behave consistently (re frame skipping for mixin and filter transparency). If there is no innermost enclosing proc frame, the innermost non-proc (e.g., namespace) frame is selected (rather than a "#0" as default). Second, argument handling for both uplevel (i.e., level sniffing in multi-arg case) and upvar (e.g., made silent TCL_ERROR for invalid argument arities explicit) have been fixed. * Object.man, methods.test: Added documentation for both methods (Object.man) and tests.

  1. … 7 more files in changeset.
Fix merge glitch

Leave a to-do

* nsf.c (NsfOUpvarMethod): Fix argument parsing, to reflect Tcl's upvar behaviour for different (invalid) argument arities. Added tests.

  1. … 1 more file in changeset.
cleaning up

reduce dead assignments improve indentation of variables

avoid variable name "index" in generated code since "index" shadows an outer function

  1. … 3 more files in changeset.
Fix indentation

* nsf.c, methods.test (NsfOUplevelMethod): Fix argument handling (level sniffing in the multi-arg case etc.), to match 1:1 the handling of Tcl's uplevel. Added tests.

  1. … 1 more file in changeset.
handle ticket #3 on sourceforge: explicit "next" call in ensemble leads to unwanted "unknown" handler call

  1. … 1 more file in changeset.
Extend up-reform to uplevel, introduce NsfCallstackFindCallingContext, added tests

  1. … 3 more files in changeset.
since we know length, we can replace strcmp by memcmp

improve type cleanness

added an additional variant of ALLOC_ON_STACK

The new version does not use alloca(), it does not use VLA

and it does not boat the stack in case huge vectors are to be processed.

It uses a plain array up to a certain size and switches to malloc()

above this size.

  1. … 1 more file in changeset.
align behavior of "current activelevel" with "... callinglevel" in case no NSF frame is found

fix typos and make spelling more uniform

conservative fix for "current callinglevel"; probably more to come

minor cleanup: factor out common strings

improve spelling and formatting

- improved handling of object property autonamed

A call of "new" calls internally the "create" method. When the

"create" method is overloaded, we want to be able to check already

on this level, whether the object is autonamed or not. The previous

version has set the property at the end of the "new" method, which

was too late for ttrace.

  1. … 1 more file in changeset.