Deutsch English Français Italiano |
<v72itp$j77c$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Harald Oehlmann <wortkarg3@yahoo.com> Newsgroups: comp.lang.tcl Subject: Re: Tklib's tooltip poss bug in method although fine in a function Date: Mon, 15 Jul 2024 09:25:45 +0200 Organization: A noiseless patient Spider Lines: 72 Message-ID: <v72itp$j77c$2@dont-email.me> References: <iFGdnSVIs-mdwQ_7nZ2dnZfqnPadnZ2d@brightview.co.uk> <v6u9j3$3lknd$1@dont-email.me> <v6uval$3pem5$1@dont-email.me> <v70kmb$4tbu$1@dont-email.me> <v7157k$8q9h$1@dont-email.me> <v7179c$8ld2$1@dont-email.me> <v7286q$i636$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 15 Jul 2024 09:25:46 +0200 (CEST) Injection-Info: dont-email.me; posting-host="6bc6ed01fd37c7a470c785032106fc93"; logging-data="629996"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/CmebjLFe5WpInNyvdta/9" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:nRpHItiOOjCxEaVR22DYz3GyQyg= In-Reply-To: <v7286q$i636$1@dont-email.me> Content-Language: en-GB Bytes: 3783 Am 15.07.2024 um 06:22 schrieb undroidwish: > On 7/14/24 21:01, Harald Oehlmann wrote: >> Am 14.07.2024 um 20:25 schrieb greg: >>> In msgcat.tcl (Tcl 9.0) >>> >>> This means I no longer get the error message. >>> The namespace is being searched for at this point, and in my opinion >>> self is not needed at all. >>> >>> >>> proc ::msgcat::PackageNamespaceGet {} { >>> set ns [uplevel 2 { namespace current }] >>> >>> if {![string match {::oo::*} $ns]} { >>> # Not in object environment >>> return $ns >>> } >>> >>> # Check if we are within an object >>> if {[info object isa object $ns]} { >>> return [info object namespace $ns] >>> } elseif {[info object isa class $ns]} { >>> return [info object namespace $ns] >>> } elseif {[info object isa metaclass $ns]} { >>> return [info object namespace $ns] >>> } elseif {[info object isa mixin $ns]} { >>> return [info object namespace $ns] >>> } elseif {[info object isa typeof $ns]} { >>> return [info object namespace $ns] >>> } else { >>> # Not in an object or class environment >>> return $ns >>> } >>> } >>> >>> Gregor >>> >> >> Thanks a lot, Gregor. >> >> Your proposed solution is now in a branch referenced in the ticket. >> It would be great, if: >> - there would be a test case for the issue >> - the comment above the modification may be corrected. If I count the >> "if's" I get 7 cases and not 4. >> ... > > Looks almost good, except that the tests for mixin and typeof > require more context (one additional parameter). Thus they must > be left out, i.e. > > ... > # Check if we are within an object > if {[info object isa object $ns]} { > return [info object namespace $ns] > } elseif {[info object isa class $ns]} { > return [info object namespace $ns] > } elseif {[info object isa metaclass $ns]} { > return [info object namespace $ns] > } > # Not in an object or class environment > return $ns > ... > > My 0.02 currency units, > Christian I just ran the test suite and the result is quite fatal, sorry... https://core.tcl-lang.org/tcl/tktview/91b3a5bb14e6e8ae1d1c5349af12e08879ea152d Thanks for all, Harald