Index: doc/tutorial2.html =================================================================== diff -u -N -rf52d344b772763bfd59bc41294e7a45a336b2346 -r3d145fa523334bae381b61747a7c6178021e78d3 --- doc/tutorial2.html (.../tutorial2.html) (revision f52d344b772763bfd59bc41294e7a45a336b2346) +++ doc/tutorial2.html (.../tutorial2.html) (revision 3d145fa523334bae381b61747a7c6178021e78d3) @@ -960,7 +960,7 @@

Initially XOTcl offers two new commands: Object and Class. They represent hooks to the features of the language. This section discusses both of them in detail and shows how they -function in the context of XOTcl. Note, that even if most of this is +function in the context of XOTcl. Note that even if most of this is compatible to OTcl, a few changes occur. For this reason, this section is no introduction to plain OTcl. The Object command provides access to the Object class, which holds the common @@ -1123,7 +1123,7 @@

  • self class: the self command with the argument class returns the name of the - class, which holds the currently executing instproc. Note, that this + class, which holds the currently executing instproc. Note that this may be different to the class of the current object. If it is called from a proc it returns an empty string.

    @@ -1140,7 +1140,7 @@ my set persons($name) [clock seconds] }

    -

    Note, that there is a difference to the realization of these +

    Note that there is a difference to the realization of these object information to OTcl. XOTcl uses commands in order to make XOTcl-methods compatible to Tcl-procedures and accessible via namespace-paths. OTcl uses the three variables self, class @@ -1643,8 +1643,8 @@ leaves it's instances with the class Object.

    So all empty class- and superclass-relationships are automatically -reset to Object. Note, that this are differences to OTcl, -where the destruction of an class destroys all instances and an empty +reset to Object. Note that this are differences to OTcl, +where the destruction of a class destroys all instances and an empty super-class list remains empty.

    Method Chaining @@ -1721,7 +1721,7 @@ four instance variables cookName, roomNumber, doorPosition and stoveType set up with default values in this order (since this is the order of the classes in the -next-path). Note, that the order is important, because one missing +next-path). Note that the order is important, because one missing next call, in one of the init methods, means that succeeding init methods will not be executed. This mechanism functions equally on all kinds of instprocs, not only on constructors. @@ -1853,8 +1853,7 @@ predefined meta-class Class, or by adding an instmixin class (see below) containing Class to the precedence chain of the class. By defining Object -instmixin Class one can even change the object system of XOTcl in -in a way such that every created Object is a meta-class. +instmixin Class one can even change the object system of XOTclin a way such that every created Object is a meta-class.

    Since the concept of a meta-class are sometimes confusing to people of a background of some other programming @@ -2069,7 +2068,7 @@ doInitializations.

    - Note, that recreate is not called, when a someone tries + Note that recreate is not called, when a someone tries to recreate a class as an object or an object as a class. In these cases, destroy + create are used.

    @@ -2419,7 +2418,7 @@
     

    All messages to a filtered object must go through the filter before they reach their destination object. A simple example would be a sole filter on the class of the object. To define such a filter two steps -are necessary. Firstly an filter method has to be defined, then the +are necessary. Firstly a filter method has to be defined, then the filter has to be registered. The filter method consists of three parts which are all optional. A filter method has the following form:

    @@ -2911,13 +2910,13 @@

    The inverse operation of info mixin is mixinof finds -out, into which objects an per-object mixin class is mixed into. +out, into which objects a per-object mixin class is mixed into.
       clsName info mixinof ?pattern?
     
    -

    Note, that the constructors (init methods) of per-object mixins (and per-class mixins) +

    Note that the constructors (init methods) of per-object mixins (and per-class mixins) are only called, if the mixin is registered already during object initialization (when init is called). For per-object mixins, one can achieve the initialization of a mixin via an idiom like @@ -2926,7 +2925,7 @@

    that registers the mixin before init is called. When a mixin is registered after object creation and it needs initializations, it is necessary to -define special methods for this. Note, that the behavior described +define special methods for this. Note that the behavior described here is introduced in version 0.84 to ensure consistent behavior of intrinsic classes, per-object and per-class mixins, and to achieve predictable behavior for dynamic registration for all kind of mixins, @@ -2996,7 +2995,7 @@ className instmixin mixinList The inverse operation of info inmixin is instmixinof finds -out, into which objects an per-object mixin class is mixed into. +out, into which objects a per-object mixin class is mixed into.
       className info instmixinof ?-closure? ?pattern?
    @@ -3061,7 +3060,7 @@
     

    Per-class mixins are applied transitively. That means the per-class -mixin A of a per-class mixin B is also applied for an object in in B's +mixin A of a per-class mixin B is also applied for an objectin B's scope. This is exactly the same as how superclasses are applied for instances. Consider the following example

    @@ -3343,7 +3342,7 @@

    -Note, that the list of possible actions can be +Note that the list of possible actions can be extended by extending the class ::xotcl::Relations.

    @@ -3356,9 +3355,9 @@ accessible within their scope. But the interceptors are mechanisms, which cover more then their sole scope. The meaningful usage of the meta-programming abilities often requires to go further and to get -information from the caller's and the callee's scope (e.g for +information from the caller's and the callee's scope (e.g. for delegation decisions). Therefore, we introduced rich call-stack -information for the interceptors. Note, that these are also available +information for the interceptors. Note that these are also available for ordinary methods, but the "called..." info options return empty strings.

    @@ -3482,7 +3481,7 @@


    -

    Note, that three options with the prefix calling +

    Note that three options with the prefix calling represent the values of self, self proc, and self class in the scope where the original call was invoked. In the following section we will show a simple program in which all of the @@ -4871,7 +4870,7 @@

    Automatic Name Creation

    The XOTcl autoname -instance method provides an simple way to take the task of +instance method provides a simple way to take the task of automatically creating names out of the responsibility of the programmer. The example below shows how to create on each invocation of method new an agent with a fresh name