nsfInt.h

Clone Tools
  • last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
cleanup after TIP 660

  1. … 2 more files in changeset.
Provide support for TIP 627 (Tcl 8.7a6+ and Tcl 9)

TIP 627 introduces support for > 2^31 elements in object vectors

(e.g., number of words in a single Tcl command). For details, see

https://core.tcl-lang.org/tips/doc/trunk/tip/627.md

To provide also backwards compatibility, this change uses the macros

TCL_COMMAND_OBJPROC, TCL_CREATEOBJCOMMAND, TCL_NRCALLOBJPROC,

TCL_NRCREATECOMMAND, TCL_OBJCMDPROC_T, and TCL_OBJC_T.

  1. … 21 more files in changeset.
generalize handling of isTYPE calls by defining CHARTTYPE

The macro was developed earlier on NaviServer, and is used

in nsf for "upper", "space" and "alpha" character checkers

  1. … 1 more file in changeset.
reduce warnings from redefined constants

  1. … 1 more file in changeset.
Improve cleanness of compilation under gcc-11+ and "-pedantic" + -Wextra"

  1. … 1 more file in changeset.
Added support for compiling with Tcl 9.0 (Many Thanks to Jan Nijtmans for first steps)

This version compiles cleanly at least with Tcl 8.6.* and Tcl 9.0 (fossil trunk),

having -pedantic and -Wextra defined.

  1. … 20 more files in changeset.
added enumeration values

  1. … 5 more files in changeset.
Reduced usage of reserved identifiers [cert-dcl37-c,cert-dcl51-cpp]

  1. … 7 more files in changeset.
make clean compile, when TRACE flags are defined

  1. … 4 more files in changeset.
improve spelling: move closer to the linux documentation recommendations

  1. … 19 more files in changeset.
add missing EXTERN declarations

  1. … 4 more files in changeset.
avoid dangerous and potentially recursive macro definition "pure"

  1. … 3 more files in changeset.
improve spelling

  1. … 19 more files in changeset.
silence gcc7+: use attribute based approach for denoting fall through in case statements

  1. … 4 more files in changeset.
Improve consistency of naming nsf objects

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

  1. … 57 more files in changeset.
improve spelling

  1. … 3 more files in changeset.
* 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.
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.
- improved error message "not allowed to have default": make clear, this is from a parameter specification - added object property "autonamed" (set automatically for objects created via "new") - xotcl2 volatile: improved backward compatibility with XOTcl 1 - extended regression test

  1. … 4 more files in changeset.
* nsf.c, nsfShadow.c (NsfProcStubDeleteProc, Nsf_RenameObjCmd): Provide for coupled renaming of the nsf::proc pairs; and coupled deletion.

  1. … 3 more files in changeset.
* nsf.c, nsfInt.h (NsfProcStub, NsfProcClientData): Apply namespace reform to nsf::procs, to prevent proc redefinition after a proc rename to fail. * nsf-cmd.test: Add test case to document/ to cover failing rename + redefine.

  1. … 2 more files in changeset.
improve handling of HAVE_INTTYPES_H under windows

  1. … 1 more file in changeset.
guard definition of PRIxPTR by HAVE_INTTYPES_H and not by HAVE_STDINT_H

improve type cleanness

  1. … 1 more file in changeset.
updates of annouce file, tested with mongo-c-dirver 1.12.0 (released yesterday)

  1. … 6 more files in changeset.
* nsfDebug.c, nsfInt.h (STRING_NEW, MEM_COUNT_ALLOC, MEM_COUNT_FREE): Fix compilation with --enable-memcount=yes.

  1. … 1 more file in changeset.
* nsfInt.h (STRING_NEW): Silence GCC 8.1 warnings on truncation risk using strncpy; made me wonder whether STRING_NEW would not be more robust against mis-computations of the destination-buffer length by using snprintf (mainly because snprintf does not nul-pad the destination buffer and always nul-terminates the destination buffer)?

* nsf.c (ParamOptionParse), nsfInt.h: Provide for own MAX and MIN macros, the ones reused implicitly from Tcl's tommath have vanished in 8.7 branches; and are not provided otherwise, at least in MinGW settings. Fixes 8.7 builds for MinGW under Win.

  1. … 1 more file in changeset.
* nsf.c (ListMethod): Provide a disassemble implementation based on ::tcl::unsupported::disassemble. [::nsf::cmf::info disassemble] is generally available, the info ?object? method variants only in development mode. Implementation covers proc methods and ::nsf::procs. Along the way, prettify some code paths in ListMethod.

  1. … 7 more files in changeset.