doc

Clone Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- experimental change of resolver name prefix char from dot to single colon

  1. … 15 more files in changeset.
- extended migration guide - defined eval in predefined via "-nonleaf", used at various places - added "info mixinof ?-scope all|object|class? ?pattern?", dropped "object-mixin-of" and "class-mixin-on" from registerd method - extended regression test - xotcl1: make "-volatile" invoked via unknown behave correctly

  1. … 5 more files in changeset.
- added "info method" to migration guide

  1. … 1 more file in changeset.
- added option "-application" to "info callable" to omit methods from base classes - extended regression test - changed naming of methodtype "system" to "builtin" - added "info methods" to migration guide

  1. … 6 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. … 4 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.
- 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

  1. … 9 more files in changeset.
- added method "eval" on ::xotcl2::Object - used "o eval {....}" as generic method to apply commands/methods to other objects

  1. … 2 more files in changeset.
- 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

  1. … 5 more files in changeset.
- changed level of headings

- added headings for parameter sections

- first skeleton of migration guide

    • -0
    • +199
    ./migration1-2.html
- made naming more consisent - alway initialize parse context properly

  1. … 1 more file in changeset.
- updated tutorial further

    • binary
    ./object-class-appclass.png
- updated first part of tutorial to xotcl2 syntax - fixed examples in tutorial - added soccerClub2.xotcl

    • -0
    • +5067
    ./tutorial2.html
  1. … 2 more files in changeset.
- fix example in the tutorial

- 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.
- doc changes from 1.6.4 release

- added announce file for 1.6.4

- regenerated documentation

- fixed some typos

* Some documentation fixes, added stack example to documentation * Bumped version number to 1.6.4

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