OTcl Change Log
Version 0.96 (30 September 95)
- Renamed OTclInit to Otcl_Init and versioned AppInit files plus
Makefile so that a dynamically loadable libotcl.so is produced for
loading into tcl7.5. [Potential Incompatibility]
- Added OTclGet/Set/UnsetObjectData to allow C api users to associate
clientdata with an object/class pair.
- Fixed bug in instvar so that it works properly in conjunction with
uplevel.
- Added OTclNextMethod for combining methods from C.
- Pruned stack space in OTclDispatch (for a higher recursion limit)
and removed fixed argument limit.
- Added OTclSet/Get/UnsetInstVar for manipulating object instance
variables from C.
- Added configure scripts and generalized Makefile.
- Conditional compilation support for Tcl/Tk 7.3/3.6
- Fixed instance variable cleanup when the object is destroyed to
ensure that unset traces are called, with errors reported where
possible, and arrays are cleaned up.
- Added OTclAsObject, OTclAsClass for safe casting of method
clientdata to objects and classes.
- Renamed OCreate, CCreate, ODelete, and CDelete to fit other naming
scheme, changing Delete return codes in the process. They now return a
Tcl code for better error indication, as well as leave a message in
the interpreter. [Potential Incompatibility]
- Pruned object memory layouts for the normal case.
- Proc and Instproc methods now remove the method if both the args
and body parameters are empty. [Potential Incompatibility]
- Added OTclRemovePMethod and OTclRemoveIMethod for removing methods
from C.
- Renamed OTclAddOMethod to OTclAddPMethod for
consistency. [Potential Incompatibility]
- Made Otcl_Init safe for multiple calls per interpreter, returning
1 for success, and 0 for repeat initializations.
- Added unknown method, which is invoked if regular dispatch
fails. Now the unknown method on Class handles automatic creation.
- Added otcl_mkindex, otcl_load, for autoloading support.
Version 0.95 (6 August 95)
Note: Version 0.95 introduces a user visible change. The code of
earlier versions can be updated by changing each create proc
to an init instproc. The method no longer takes the name of
the object to create, but is invoked on the object just after it is
created and hence maniupulates the object through self. This
change was made to regularize method combination with
next. Method combination now works in the same way for
classes as for objects.
- Added info default/instdefault option
- Support for multiple interpreters
- Added array method matching the tcl array command
- Separated creation into allocation plus initialization. Now init
instprocs are typically added to classes, while alloc and create are
provided by the system. [Incompatibility]
- Removed method combination rule for classes [Potential
Incompatibility]
- Objects obtain their name from interpreter and so may be safely renamed
- Switched to Get/SetCommandInfo/Name interface
- Simplified destroy of classes. Now instances are also destroyed,
and super and sub classes are unlinked from the inheritance
graph. [Potential Incompatibility]
- Fixed bug in recovery of superclass method from cycles
- Added info subclass option to discover direct subclasses and query
for indirect ones.
- Superclass method enforces implicit dependence order. [Potential
Incompatibility]
- info heritage takes a match pattern as its final argument
Version 0.94 (24 July 95)
- Fixed bug in set on classes
- Removed unneeded newvar code
- Cleaned up documentation errors
- Fixed repeat combination bug with next on class procs
- otcl.h no longer pulls in tclInt.h
- Changed set, unset, instvar implementation to use Tcl_xxVar directly
- Any call through Tcl_DeleteCommand triggers proper object cleanup
- Fixed bug with info vars
Version 0.93 (19 July 95)
- Fixed bug in class create instcommand
- Fixed bug in next when used from class create proc
- Added example from workshop paper to test.tcl
Version 0.92 (17 July 95)
- Added querying for indirect superclasses
- Added array instance variables
- Added unset method for objects
- Reworked instance variable interface to Tcl variables
- Better error message for class dispatch problems
- Fixed bug in changing superclasses
- Fixed AppInit for real 7.4/4.0
- Added test.tcl test and example script
Version 0.91 (12 July 95)
- Fixed bug in next
- Made set method match Tcl set with implicit get
- Renamed info option "variables" to "vars" to match Tcl
- Fixed bug in info procs
- Removed hidden args from info args for consistency
Version 0.90 (1 July 95)
- First OTcl release