nsfShadow.c

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- minor code cleanup

  1. … 1 more file in changeset.
- reduce variable scopes

  1. … 4 more files in changeset.
- updated 34 copyright notices

  1. … 33 more files in changeset.
nsfShadow.c - bump MethodEpoch when a tcl ::rename command happens on a nsf method (which might be cached in a Tcl_Obj) This fixes a crash reported by Arthur Schreiber nsf.c: - make NsfInstanceMethodEpochIncr() and NsfObjectMethodEpochIncr() accessible from all files using nsfInt.h - remove experimental code (backslash escaping for "," in parameter option parse

  1. … 4 more files in changeset.
- configure, configure.in: Under win, the CLEANFILES missed a pattern for object files - nsfInt.h: Based on the BUILD_nsf convention, the internal header introduced a TCL_STORAGE_CLASS macro placing the dllimport attribute (under Win/MinGW builts). As a consequence, shared and stub builts ended up with function declarations annotated with dllimport (which for these cases is either unnecessary or even breaks builts because the dllexport counterpart is missing, obviously). As nsf.h includes a sane DLLIMPORT/DLLEXPORT handling (copied over from tcl.h), I simply removed the special macro handling from nsfInt.h. - NsfProcStub(): Use the EXTERN macro rather than extern directly

  1. … 3 more files in changeset.
- Used "gcc -ansi" to test ANSI compatibility (with MSVC in mind) - generic/nsf.c, generic/nsfShadow.c: Fixed some non-ANSI comments - generic/nsfError.c: Relocated a declaration to the beginning of the scope block (MSVC shouted here) - generic/nsfInt.h: Made sure that NSF_INLINE is only set in non-ANSI gcc builds, added a tiny portability wrapper for va_copy (to support MSVC and the gcc/clang ANSI mode)

  1. … 3 more files in changeset.
- update copyright notices with MIT licens from OSI (http://www.opensource.org/licenses/MIT)

  1. … 26 more files in changeset.
- adding spaces after comma in argument lists

  1. … 5 more files in changeset.
- nsf.c: * improved source code documentation * added parameter option "args" in order to get eventually rid of hard-wired residual args. * improved a few error messages * fixed object parameters consisting only of plain parameters (previously, no parameters were returned in this case, e.g. for method parameters; but object parameter code depends on it) - extended and updated regression tests

  1. … 7 more files in changeset.
- nx.tcl: provide caching for computed values of object slots to make method objectparameter nearly twice as fast; direct changes on slots require a reconfigure call. - nsf.c: removed SUBST from shadow commands (does not appear to be necessary any more) - nsf.c: fixing a memory leak (some substituted values were not freed correctly) - nsf.c: fix potential crash for epoched cmds - some minor updates for profiling support

  1. … 8 more files in changeset.
Adding buffer-local emacs settings to the *.c files

  1. … 11 more files in changeset.
- added shadowing for ::tcl::info::body to allow "info body" to be called on ::nsf::procs - commented nsfShadow.c - added regression test

  1. … 4 more files in changeset.
- removed leftover -public flag in nsf::method - general cleanup: removed unused arguments

  1. … 7 more files in changeset.
- output object frame to ease interpretation of [info frame]

- follow current Tcl vonvention for patchlevel var: - changed name of ::nsf::patchlevel to ::nsf::patchLevel - changed content ::nsf::patchLevel from eg .0 to full number including release details

- fixed bug in ::variable with colon-prefixed name

(shadowCommands does not help, see above)

- removed traces of Nsf_VariableObjCmd()

- extended regression test

  1. … 7 more files in changeset.
- added handling of unstacked csc entries (removed all DEBUG warnings).

  1. … 10 more files in changeset.
- added expermimental code to avoid "variable :x" crash based on shadowCommands, but this does not work, when varible is bytecompiled. deactivated for now.

  1. … 2 more files in changeset.
- used Tcl_ObjCmdProc in prototypes - allow CMETHOD to be target of calling-object/calling-level - added NSF_CSC_CALL_IS_TRANSPARENT to handle proc aliases transparently - access self in NsfProcAliasMethod() from tcl->object

  1. … 4 more files in changeset.
- provide debugging output when varFramePtr in GetSelfObj() is NULL - filter misleading "proc" entry for "info frame" for nsf-stack entries - add "method" for "info frame" for nsf-stack entries - defnied SKIP_LEVELS to omit optionally skipping of tcl-stack entries in GetSelfObj()

  1. … 6 more files in changeset.
- renamed functions in nsfStack.c to follow Tcl naming guidelines

  1. … 3 more files in changeset.
- BRO continues: - overworked function prototype definitions in nsf.c - renamed some static definitions on the way to follow Tcl conventions (start with a capital character)

  1. … 7 more files in changeset.
- BRO continues: - changed all XOTCL_ into NSF_ - changed all XOTCLINLINE into NSF_INLINE - changed all XOTCLOBJ_TRACE into NSFOBJ_TRACE - changed all XOTcl_ into Nsf_ - changed all XOTcl([A-Z]) into Nsf\1 - changed all xotcl into nsf

- changed changeClass into ChangeClass

- changed XOTclpGetObject into GetObjectFromString

- changed XOTclpGetClass into GetClassFromString

- changed callDestroyMethod into DispatchDestroyMethod

  1. … 34 more files in changeset.
- big renaming orgy (BRO): - changed filenames starting to "xotcl" into filename starting with "nsf" - adoped Makefile insfrastructure accordingly - removed compile flag XOTCL_METADATA and generic/xotclMetaData.c - changed compile flag PROFILE into NSF_PROFILE

  1. … 48 more files in changeset.