generic

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- namespace changes: mostly due to marketing reasons, the naming of the top-level namespace changed from "xotcl2" to "next". reasons: xotcl is hard to pronounce for beginners, sounds like "exotic" (but who wants to program in an exotic language) has a certain stigma of strange namings (e.g. "instproc"), is seen as a precursor of tcloo, the top-level namespace ::xotcl2:: is not very nice either, the separation of framework and language is not clear.

We have now:

::next (the new object system, former ::xotcl2)

::next::core (framework, primitives)

::xotcl (former xotcl1)

- "::xotcl::use" no longer needed, use Tcl standard mechanisms instead

(e.g. "package req next"; "package req XOTcl", "namespace import ::next*")

  1. … 39 more files in changeset.
- undid part of last commit

- xotcl 1.6.6: initialize value

- backported part of the deletion logic of xotcl 2.0 to 1.6.6 to avoid a potential crash with volatile objects

- ::xotcl:.configure: added option "keepinitcmd" to flag, whether or not initcmds should be kept as instance variables

  1. … 1 more file in changeset.
- remove unneeded attribute for method setter

  1. … 1 more file in changeset.
- Allow to speficy last arg of objectparameter to replace scripted init block. The redefinition of objectparameter allows us to specify whether no/some/classical/altered/additional arguments should be allowed during object creation

- Handle cases, where objects/classes are created with the name of preexiting namespaces. Cases, where pre-exisitng namespaces contained classes/objects lead to problems, since xotcl did not see the object/classes of the pre-exiting namespace as children of the new object/class.

  1. … 2 more files in changeset.
- backport change from 2.0 to 1.6.6 concerning cylcic dependencies through namespace imported commands

- fix a potential ordering problem with cyclic dependencies created by namespace import commands

  1. … 1 more file in changeset.
- xotcl 1.6.6: backport of memory fixes from xotcl 2.0

- add check for optional match arguments in tcl stub generator - fix potential memory leaks all "definitely losts" from valgrind (except 24 bytes from Tcl_PkgRequire) gone

- minor leak cleanup

- make valgrind + system malloc (instead of tcl malloc) run cleanly

- replace hash-lookup in namespace in ObjectHasChildren() by pointer lookup to reduce namespace dependency. - fix memcopy size

  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. … 16 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

- add verbosity for varname copying

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

- 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. … 1 more file 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. … 1 more file in changeset.
- eliminated XOTE___UNKNOWN - renamed __unknown to requireobject

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

- eliminated XOTE_RESIDUALARGS

- renamed MethodObj() to XOTclMethodObj() (it is an exported symbol) - eliminated XOTE_MOVE

- replaced hard-coded method calls for XOTE_DEFAULTMETHOD, XOTE_INIT, XOTE_OBJECTPARAMETER with MethodObj()

  1. … 1 more file 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. … 1 more file in changeset.
- move refcount fixing logic for exit from higher stackframes to new function: finalObjectDeletion()