From: Harald O. <har...@el...> - 2018-01-13 14:24:20
|
Am 13.01.2018 um 11:29 schrieb Stefan Sobernig: >> The right way to detect if you're in a method might be to look at what >> [namespace which self] returns; it should be ::oo::Helpers::self when in >> a method. (It's not documented that that's what it is, but I don't think >> there are any plans to ever change it.) That has the advantage of not >> producing an error when running somewhere else. > > Why not introspect on the self command, prior to comparing against its name? > > (early, when msgcat is provided, do:) > > set ::msgcat::selfCmdName [namespace eval [info object namespace > ::oo::object] {namespace which self}] > > Then write the comparison like so: > > if {[namespace which self] ne $::msgcat::selfCmdName} { > return [namespace current] > } Stefan, this sounds probably great, but I have no idea at all what is happening here and what you are proposing (and which problem is solved), sorry. Maybe, others may comment... Remember that when a oo proposition comes in, I normally need some days to read Ashoks book to understand them. I understand it by putting "puts" everywhere and after some days, it comes. Thank you and sorry, Harald |