xotcl.h

Clone Tools
  • last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- updated copyright dates - added announce file for xotcl-1-6-8 - fixed typos in Changelog

  1. … 30 more files in changeset.
- Removed obsolete CVS-$Ids - Updated dates of Copyrights - Removed unneeded c++ hints for Emacs

  1. … 19 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.
- changed stub naming from "[Nn][Xx]*" to nsf (for next scripting framework)

  1. … 19 more files in changeset.
- implemented experimental delegating version of "object as method" that keeps the original self.

  1. … 8 more files in changeset.
- changed stubs from xotcl to nx

  1. … 23 more files in changeset.
- updated changelog - deactivated assertions for release

  1. … 1 more file in changeset.
- xotcl 1.6.6: make sure to load always xotcl 1 versions when needed - xotcl 1.6.6: make compilation clean when compiled with assertions on

  1. … 19 more files in changeset.
- remove "buffer" from compiled var structures - remove xotcl1 dependency from aol-tcl - removed conditional var table creation by assertion - make clean compile with assertions turned on

  1. … 4 more files in changeset.
- get rid of reminder of tcl 8.4 compatiblity and remove range of ifdefs, such as PRE85, FORWARD_COMPATIBLE, TCL85STACK, CANONICAL_ARGS, USE_COMPILED_VAR_RESOLVER

  1. … 5 more files in changeset.
- remove some more obsolete RCS Ids - call Tcl_Objs "Obj", not "Object"

  1. … 11 more files in changeset.
- fixing "-parameter" with empty content - more variable naming cleanup - fix line breaking in serializer for "exportedObjects"

  1. … 4 more files in changeset.
- updating tcl.m4 to the actual verison (TEA 3.7)

  1. … 5 more files in changeset.
- enable compilation with assertion turned on (via NDEBUG) - fix potentially uninitialized flags for ArgumentCheck() - some further cleanup, tested with 32 bit under Mac OS X 10.6

  1. … 4 more files in changeset.
- fixed namespace handling on stack for objects with namespaces (before, it was possible that a variable was created in an object's namespace without -objscope) - as a consequence, ListChildren() had to be adjused, since it depended on the previous namespace handling on the stack - fixed object sesolving in NsDotVarResolver() (before, it was possible that NsDotVarResolver could create variables in the wrong namespace) - simplified NsDotVarResolver() - more cleanup in name resolver * USE_DOT is gone * XOTclDotDotCmd() removed * improved performance of InterpCompiledDotVarResolver() * made LookupVarFromTable() obsolete and removed it * renamed DotVarResolver() and friends to ColonVarResolver() etc. - extended regression test

  1. … 10 more files in changeset.
* provide compatibility with 8.6b1

  1. … 6 more files in changeset.
- making methodDefinitions NULL terminated - passing optional arg to user-defined argument converter - refuse to redefine type converters for a single parameter - adding regression test for parameters

  1. … 9 more files in changeset.
- experimental change of resolver name prefix char from dot to single colon

  1. … 16 more files in changeset.
- NsDotVarResolver: don't create variables on CMETHOD frames when their names do not start with a "."

- general overhaul of XOTcl_PushFrame()XOTcl_PopFrame():

new functions:

* XOTcl_PushFrameCsc()/XOTcl_PopFrameCsc(): for CMETHOD fames

* XOTcl_PushFrameObj()/XOTcl_PopFrameObj(): for OBJECT frames

(objscope)

- preallocate obj->vartable in XOTcl_PushFrameObj() to

avoid situations where to non-existing vartable is created

on demand at different places (e.g. on stack and in

var resolver)

- caller of convertToRelationtype(): make sure that last argument

keeping the result is large enough to held pointer (in case of

sizeof(void) != sizeof(int)

  1. … 6 more files in changeset.
- moved cmd flags into xotclInt.h - added missing prototype

  1. … 2 more files in changeset.
- added experimental flag for alias "-noleaf" to force a stack frame to be written (e.g. necessary for "next"). makes only sense for aliases to c-implemented cmds

- fix inconsistent behaviour of dotVarResolver

"o eval {set .x 1}" was setting var ".x" instead of "x"

The problem was due to a interaction between

the namespace varResolver() and the DotVarResolver()

- fix for DotCmdResolver during compilation of a proc by Tcl.

- extended regression text

- found 2 potential bugs (not fixed yet)

  1. … 9 more files in changeset.
- renamed method property "static" to "redefine-protected"

  1. … 7 more files in changeset.
- factor out VarHashTableCreate() and CompiledLocalsLookup() - new debug flag VAR_RESOLVER_TRACE - new varResolver DotVarResolver(): catches variable names starting with a ".", only lookups within XOTCL_METHOD_FRAMES to minimize interactions - don't clobber from guard calls for 8.5 and earlier as well - extended regression tests

  1. … 3 more files in changeset.
- added experimental USE_COMPILED_VAR_RESOLVER Example:

Foo instproc bar2 {} {

set .x [expr {!${.x}}]

}

  1. … 1 more file in changeset.
- provide propagation of errors from mixin guards (in earlier XOTcl versions, these were silently ignored) - don't clobber from guard calls - added new regression tests for mixin and filter guards called via next and trigger errors - fix result code handling for tcl 8.6 - fix tcl stack allocs/deallocs for tcl 8.6 - new debug flag TCL_STACK_ALLOC_TRACE - improve comments - new function CmdIsProc() to handle different behavior of TclIsProc() in 8.6 - passing regression test with tcl 8.6

  1. … 3 more files in changeset.
- more work on 8.6b1: xotcl 2.0 boots now - fixed a few regression tests for 8.6 TclIsProc((Command*)cmd) not equiv to (Tcl_Command_objProc(cmd) == TclObjInterpProc) - not all regression tests run yet - make sure to run " make clean;configure;make genstubs" to compile under 8.5

  1. … 10 more files in changeset.
- first steps towards 8.6

  1. … 5 more files in changeset.
- made create statments in xoDoc and loaded packages explicit - added tests/protected.xotcl

  1. … 8 more files in changeset.
- changed interface of ::xotcl::methodproperty to be used as well for introspection

- added ::xotcl::methodproperty ... static

We have now

* call-protection via methodproperty "protected"

* overwrite-protection via methodproperty "static"

Static methods can be deleted, but not overwritten (accidentially)

- added flag "-protected" to "method" for call-protected methods

- added checks for overwrite-protection to tcl implemented methods.

aliases, forwarder, and parametercmds

- removed "classscopedinstproc" (use "method -inner-namespace" instead)

- removed C-implemented unknown handler for ::xotcl::Class

and replaced by a Tcl-implemented one (should move into

compatibility library)

- removed XOTclAddPMethod() (use XOTclAddObjectMethod instead)

- removed XOTclAddIMethod() (use XOTclAddInstanceMethod instead)

- generalized MakeObjectMethod() and MakeClassMethod() into MakeProc()

- removed compile-flag NAMESPACEINSTPROCS and AUTOVARS

- removed defines for isClassString, isDoubleDashString, isAllocString,

isDeallocString, isDestroyString

  1. … 10 more files in changeset.
- drop XOTclOSetvaluesMethod(), use alias for "set" instead of it - implement parameter option "optional" for positional parameters - extend regression test

  1. … 7 more files in changeset.