nsf

Clone Tools
  • last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- removed XOTclInstVar from the C-level API. todo: add all xotcl*cmds to C api, including importvar

- changed resultss of "filtersearch" and "self next" to new naming Caveat: for xotcl1, there is no mapping for the names to the old style in "self next" and "self filterreg" - backwards compatible mapping of filterseach in xotcl1

- removed dependency on proc/instproc in copy/move. code is now independet of class system

- allow invovation of fully qualified method names (determined via ... info method name ...)

- moved cmd flags into xotclInt.h - added missing prototype

- added interface definitions for generated tcl commands to xotcl.c

- 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)

    • -24
    • +171
    /tests/varresolutiontest.xotcl
- moved "-per-object" consequently immediately after obj in the following commands : ::xotcl::alias, ::xotcl::methodproperty, ::xotcl::setter to achiev conformance with ::xotcl::forward and ::xotcl::method

- reduce verbosity

- added ::xotcl::forward as cmd instead of method now, all method-defining-methods (alias, method, forward, setter) are defined as cmds (this should make life of serializer easier)

- added ::xotcl::method as cmd instead of methods object-method and class-method

- added ::xotcl::exists as cmd

- minor refactoring

- made some more xotcl2 methods protected (no big need to call these from different objects): unknown, uplevel, upvar

- changed assertions: old (xotcl1) interface: 3 methods + 3 info methods * <object> check Options * <object> info check * <object> invar Conditions * <object> info invar * <class> instinvar Conditions * <class> info instinvar

new (xotcl2) interface: 1 cmd (similar to ::xotcl::relation)

::xotcl::assertion check|object-invar|class-invar ?arg?

- added emulation for xotcl1

- deleted namespecific C macros:

isInfoString, isInstinvarString, isInvarString, isInstprocString, isProcString

- added method "eval" on ::xotcl2::Object - used "o eval {....}" as generic method to apply commands/methods to other objects

- change and rename cmd instvar ::xotcl::instvar -object someObject newVar into ::xotcl::importvar someObject newVar Rationale of change: only needed in xotcl2 for importing variables from different objects

- handle HAVE_UINTPTR_T like HAVE_INTPTR_T - use ::xotcl::setinstvar instead of ::xotcl::setinstvar in serializer

- use INT2PTR and PTR2INT macros in generated stubs

- update to TEA 3.7 (from TEAD 3.5) - use of INT2PTR to avoid warnings about different sizes on 64bit architectures - defined HAVE_INTPTR_T as a macro to make definition of INT2PTR working

- changed level of headings

- added headings for parameter sections

- first skeleton of migration guide

    • -0
    • +199
    /doc/migration1-2.html
- renamed "ClassName info instmixinof ?-closure? ?pattern?" into "ClassName info class-mixin-of ?-closure? ?pattern?" - renamed "ClassName info mixinof ?-closure? ?pattern?" into "ClassName info object-mixin-of ?-closure? ?pattern?" - added emulation "ClassName info instmixinof|mixinof" for xotcl1

- add minor comment

- reactivated XOTclErrInProc()

- get rid of rst->deallocCalled (not needed due to reference counting on xotcl objects) - reduce verbosity

- added existence test for slot extractor (needed for 8.5.8) - added refcounting CallStackDoDestroy() to ensure existance of object until end of function - make sure to call PrimitiveDestroy() before DeleteCommandFromToken(), otherwise e.g. unset traces on this object cannot be executed - regression test works again

- added refounting in ObjectDispatch() to make sure, obj survives until the end of the function

- comment manual call to DoDealloc() in case the method has failed