Tk Library Source Code

View Ticket
Login
Ticket UUID: 1950457
Title: hierarchical methods are not delegated
Type: Bug Version: None
Submitter: matzek Created on: 2008-04-24 08:40:11
Subsystem: snit Assigned To: duquette
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2008-04-26 08:29:25
Resolution: Invalid Closed By: duquette
    Closed on: 2008-04-26 01:29:25
Description:
Hi,

I was stumbling over an unusual behavior of the hierarchical methods. The attached script will deliver the following output:

Tcl version: 8.4.18
snit version 1.3.1
[::.gf is foo] := This is gFoo 1!
[::.gf isFoo] := This is gFoo 2!
[::.gf is bar] := "::.gf is bar" is not defined
[::.gf isBar] := This is gBar 2!

Tcl version: 8.5.2
snit version 2.2.1
[::.gf is foo] := This is gFoo 1!
[::.gf isFoo] := This is gFoo 2!
[::.gf is bar] := unknown subcommand "bar": must be foo
[::.gf isBar] := This is gBar 2!

The method "isBar" of type gBar is correctly delegated and available to an object .gf of type gFoo, while the method "is bar" is not.

Is this a bug, or did I miss the respective chapter in the docs?

kind regards
-- Matthias Kraft
User Comments: duquette added on 2008-04-26 08:25:53:
Logged In: YES 
user_id=372859
Originator: NO

The handling of hierarchical methods changed slightly between Snit 1.x and Snit 2.x, which explains why the error messages differ.  In each case, though, to delegate hierarchical methods you need to do something like this:

    delegate method {is *} to foo

matzek added on 2008-04-24 15:40:12:

File Added - 275704: snittest.tcl

Attachments: