[Xotcl] possible bug?

Artur Trzewik mail at xdobry.de
Mon Jan 10 22:26:27 CET 2011


  I suppose effect by redefining class

namespace import xotcl::*
# file 1
Class F1
F1 instproc foo {} {
     puts foo
}
# file 2 source file1
Class F2 -superclass F1
# file 3 source file 1
Class F1
F1 instproc foo {} {
     puts foo
}
Class F3 -superclass F1
F2 create f2
f2 foo
# F1 is not more superclass of F2
F2 superclass


Redefining F1 (double source) delete old implementation of F1 and so 
superclass of F2.

The same as

namespace import xotcl::*
Class F1
F1 instproc foo {} {
     puts foo
}
Class F2 -superclass F1
F2 create f2
f2 foo
F1 destroy
f2 foo

Artur

> Hello,
>
> I attach a few files that will demonstrate the problem. Just run 
> tester.tcl
> On my PC the effect is that I get an error message:
>
> ::tmp1: unable to dispatch method 'testA'
>     while executing
> "tmp1 testA"
>
> The problem is that tmp1 is of class B and should be able to call 
> testA, which is defined its superclass - A.
>
> I have found that the problem is source command, which includes file 
> a.xotcl several times in several different files. I don't understand 
> however why the message from interpreter says that it cannot find proc 
> testA - this doesn't make sense.
>
> Is there a "nice" method to avoid this? Like in C we use #define and 
> #ifndef
>
>
> _______________________________________________
> Xotcl mailing list
> Xotcl at alice.wu-wien.ac.at
> http://alice.wu-wien.ac.at/mailman/listinfo/xotcl



More information about the Xotcl mailing list