index.html

Clone Tools
  • last updated 21 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- eliminated XOTE___UNKNOWN - renamed __unknown to requireobject

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

  1. … 2 more files in changeset.
- deactivate filters in finialize - new method InvokeMethodObj() to replace finally CanInvokeDirectly()

  1. … 2 more files in changeset.
- call c-implemented methods directly for XOTE_RECREATE as well (otherwise, create is faster than recreate)

  1. … 1 more file 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.
- keep variables defined from an CMETHOD frame local to this frame (e.g. initcmd, -nonleaf option, ...); previously variables without xotcl resolver prefix were defined globally - fix regression test according to previous item - generalize nonXotclObjectProcFrame() and rename it to activeProcFrame()^

  1. … 5 more files in changeset.
- requireNameSpace: * fix potental crash in requireNameSpace in objscoped methods by swapping all vartable references in objscopes on stack to the vartable in the namespace, when it is created - extending regression test

  1. … 3 more files in changeset.
- renaming of instance variable specific primitiva for more constistency with ::xotcl::importvar:

::xotcl::exists -> ::xotcl::existsvar

::xotcl::setinstvar -> ::xotcl::setvar

  1. … 10 more files in changeset.
- initcmd: use for initcmds CMETHOD frames instead of OBJECT stack frames - initcmd: skip parent-stack frame's objscope for initcmd - changed hash-based lookup of children into a cmd-based lookup - extended regression test

  1. … 5 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.
- 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

  1. … 5 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.
- made naming more consisent - alway initialize parse context properly

  1. … 1 more file in changeset.
- Definition of method modifiers "public", "protected" and "object" - all method-creating methods ("method", "alias", "forward", "setter") return now the fully qualified method names - extending 50 regression tests fpr method modifiers - Make "unknown" for ::xotcl2::Class" to raise an error instead of warning. Otherwise, protected class-level methods would create objects with the name of protected methods. Other option: make calls to protected methods raise an error, instead of calling "unknown"

  1. … 8 more files in changeset.
- changed in xotcl-core "method" into "object-method" and "class-method", provided scripted definition for method in xotcl2 - removed "setter" from methods in xotcl1 - defined xotcl1 methods in terms of "proc" and "instproc"

  1. … 9 more files in changeset.
- info "pre" is gone, now subcommand "<obj> info method pre <name>", added emulation in xotcl1 - info "inst pre" is gone, now subcommand "<cls> info method pre <name>", added emulation in xotcl1 - info "post" is gone, now subcommand "<obj> info method post <name>", added emulation in xotcl1 - info "instpost" is gone, now subcommand "<cls> info method post <name>", added emulation in xotcl1 - "info instinvar" gone, added emulation in xotcl1

  1. … 4 more files in changeset.
- "info instmixin" gone, added emulation in xotcl1

  1. … 4 more files in changeset.
- provide method get for Interceptor slots - added tests/info-method.xotcl - added tests/interceptor-slot.xotcl

  1. … 5 more files in changeset.
- forward: new option for handling flags syntax "%-SOMEFLAG ?insert?%" The option checks the actual arguments, if they start with "-", it compares it with the provided name. If it matches, the flag is consumed and added at the provided position in the output list. If the flag does not match, but "insert" is given with the value of 1, then the flag is output as well. Note that the last feature is added for omitting double inserts.

- due to the new forward option, the following important

cases work now:

- adding/deleting/... per-object mixins for classes via

slot methods

C mixin -per-object add M

- adding per-object mixins for classes in short form

C mixin -per-object M

- added "what" argument to deprecated command to let the

user be more exact, what is actually deprecated

  1. … 6 more files in changeset.
- new method named "setter" * <Object> setter <varName> * <|Class> setter ?-per-object? <varName>

- new info method named "method"

* <Object|Class> info method ?-per-object? definition|name|type <methodName>"

* "info method definition" returns full cmds

(e.g. for scripted methods parameters, body, pre- and postconditions)

* fixed proper list handling in AssertionList()

* added tests for "info method" (infomethodtest.xotcl)

- changed method "alias" in xotcl2:

* removed the long list of arguments

".... -cmd -source-object -source-method -source-per-object:switch"

* determine method cmdname via "... info method name <methodName>"

and pass it to alias

- method "parametercmd" and "instparametercmd" are gone (for xotcl2)

we have now

"<Object> setter <name>"

"<Class> setter ?-per-object? <name>"

- added emulation for old "parametercmd" and "instparametercmd" in xotcl1

- method "instforward" is gone (for xotcl2),

we have now

"<Object> forward <name> ... "

"<Class> forward ?-per-object? <name> ... "

- added emulation for old "forward" and "instforward" in xotcl1

- "info body" gone, added emulation in xotcl1

- "info instbody" gone, added emulation in xotcl1

- "info commands" gone, added emulation in xotcl1

- "info instcommands" gone, added emulation in xotcl1

- "info parametercmd" gone, added emulation in xotcl1

- "info instparametercmd" gone, added emulation in xotcl1

  1. … 15 more files in changeset.
- added aliastest provided by stefan - handle [self class] in aliased methods properly - use xotcl2 per default in xotclsh

  1. … 7 more files in changeset.
- moved xotcl-1.* definition into an own library file - renamed library/lib/changeXOTclVersion.xotcl to library/lib/changeXOTclVersion to ease pkgIndex generation - new function "xotcl::use xotcl1" or "xotcl::use xotcl2" to ease switching between xotcl 1 and 2 - changed library/lib/test to xotcl2 - added for all regression test "xotcl::use xotcl1" instead of "namespace import ::xotcl::*"

  1. … 27 more files in changeset.
- new parameter type method (similar to initcmd, but calls a same-named method)

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

  1. … 8 more files in changeset.
- renamed GetObjectInterface() -> GetObjectParameterDefinition() - renamed canonicalNonpositionalArgs() -> ProcessMethodArguments() - simplified XOTclOConfigureMethod(), 30% speedup, when defaults are used

  1. … 1 more file in changeset.
- new functions NonposArgsFree(), ParsedInterfaceDefinitionFree() - new class method invalidateinterfacedefinition - renamed convertToInterceptor() to convertToRelation() - added test tests/objifdtest.xotcl (not yet in test suite)

  1. … 6 more files in changeset.
- added first verison of configure based on nonpos args (many thanks to Stefan!)

  1. … 8 more files in changeset.
- work on collateral damage after merge - fixed many test cases from the regression thest - wrote some changes to ChangeLog as a reminder

  1. … 8 more files in changeset.
merge with 1.6.3 (HEAD)

  1. … 130 more files in changeset.
- added Stefan's work for namespace resolvers - fixed a memory leak for "obj exists" due to the changes - found another memory leak, when e.g. "::info" is added as an alias and "info exists" is tested against non-existing vars

  1. … 4 more files in changeset.