xotcl.c

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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.
- add verbosity for varname copying

- rename CallStackPush() to CscInit() - rename CallStackPop() to CscFinish()

  1. … 1 more file 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.
- removed EXPERIMENTAL_CMD_RESOLVER

- handling of minimal object systems. For example, the following three command create an object system around ::object and ::class ...

::xotcl::createobjectsystem ::object ::class

::xotcl::alias ::class + ::xotcl::cmd::Class::create

::xotcl::alias ::object - ::xotcl::cmd::Object::destroy

... where no internal message dispatch are used (e.g. no

constructor "init", and where just two methods ("+" and "-")

are used to create and destroy objects

- extended regression test

  1. … 4 more files in changeset.
- provide prefix for internally called methods to distinguish between methods called on objects or classes

  1. … 5 more files in changeset.
- eliminated XOTE___UNKNOWN - renamed __unknown to requireobject

  1. … 5 more files in changeset.
- eliminated XOTE_UNKNOWN

  1. … 1 more file in changeset.
- eliminated XOTE_RESIDUALARGS

  1. … 1 more file in changeset.
- renamed MethodObj() to XOTclMethodObj() (it is an exported symbol) - eliminated XOTE_MOVE

  1. … 2 more files in changeset.
- replaced hard-coded method calls for XOTE_DEFAULTMETHOD, XOTE_INIT, XOTE_OBJECTPARAMETER with MethodObj()

  1. … 2 more files in changeset.
- created new functions: ObjectSystemFree(), ObjectSystemAdd(), ObjectSystemsCheckSystemMethod(), ObjectSystemsCleanup(), GetObjectSystem(), CallDirectly() for better separation of systems. We keep track which essential system methods are defined and which which methods are potentially overloaded.

  1. … 2 more files in changeset.
- move refcount fixing logic for exit from higher stackframes to new function: finalObjectDeletion()

- first part of allowing arbitrary named internally called methods.

  1. … 5 more files in changeset.
- fix last issue, with freeing objects, when exit happens from higher stack frames

  1. … 1 more file in changeset.
- block call-stack deletes during XOTCL_EXITHANDLER_ON_SOFT_DESTROY; however, this seems to create a small leak during exit (revant for threads); so currently, debug still turned on

  1. … 1 more file in changeset.
- replace all CanInvokeDirectly() by InvokeMethodObj()

- remove some more obsolete RCS Ids - call Tcl_Objs "Obj", not "Object"

  1. … 11 more files in changeset.
- remove filter deactivation to a later point in time (should finally be before freeAllXOTclObjectsAndClasses())

- deactivate filters in finialize - new method InvokeMethodObj() to replace finally CanInvokeDirectly()

  1. … 2 more files in changeset.
- call all truely essential methods directly if possible (Object.destroy, Class.alloc, Class.dealloc, Class.create) The basics of XOTcl can work now also in cases, when these are not defined as methods.

- reduce verbosity

- make XOTcl_FrameDecls transparent (use variable declarations in place instead of the macro) - fix variable shadowing bug in error handling (could cause crashes when initcmd lead to errors)

  1. … 1 more file in changeset.
- define RecreateObject() for internal call via diect invocation - doCleanup is just called by recreate; merge it into XOTclCRecreateMethod. Is method cleanup necessary? is recreate not sufficient?

- call c-implemented methods directly for XOTE_RECREATE as well (otherwise, create is faster than recreate)

  1. … 1 more file in changeset.
- call c-implemented methods directly, when this is safe (implemented for XOTE_ALLOC, XOTE_CLEANUP, XOTE_CONFIGURE, XOTE_CREATE, XOTE_DEALLOC); this improves create/destroy speed by up to 15% - allocate namespaces for objects less eager - make nameing more consistent (change newObj into newObject when variable is an xotcl object)

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

  1. … 4 more files in changeset.
- fixed wrong name for per-object filter in RelationSlot - fixed condition in filter-incovation to top-level frames - added frametype to information returned by "info frame"

  1. … 4 more files in changeset.