• name resolution in tcl

    From aotto1968@21:1/5 to All on Fri Jan 12 10:30:20 2024
    Hi,

    if I use a "upvar" to map a variable into a "proc" namespace I would like to extract the !! original !! variable name from the
    mapped one


    example:
    =====================================================
    set topvar 1

    proc a {ref} {
    upvar $ref my_a_var
    append my_a_var a
    b my_a_var
    }

    proc b {ref} {
    upvar $ref my_b_var
    append my_b_var b
    ## ?? how can I extract the name "topvar" from my local name "my_b_var"
    }

    a topvar
    ====================================================

    The goal behind this request is to write a proper error/warning message for a generic function.


    mfg ao

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From aotto1968@21:1/5 to rene on Fri Jan 12 14:04:14 2024
    On 12.01.24 11:16, rene wrote:
    set topvar 1
    proc a {ref} {
    upvar $ref my_a_var
    append my_a_var a
    b $ref
    }
    proc b {ref} {
    # use 2 or provide the uplevel number as argument
    upvar 2 $ref my_b_var
    append my_b_var b
    ## ?? how can I extract the name "topvar" from my local name "my_b_var" puts $ref
    }
    a topvar

    HTH
    rene

    stop my example is wrong !!

    Example ============================================================================= set topvar 1
    proc a {ref} {
    upvar $ref my_a_var
    append my_a_var a
    b my_a_var
    }
    proc b {ref} {
    # use 2 or provide the uplevel number as argument
    upvar 2 $ref my_b_var
    append my_b_var b
    ## ?? how can I extract the name "topvar" from my local name "my_b_var" puts $ref
    }
    a topvar =============================================================================

    "ref" in "b" is "my_a_var" and *NOT* "topvar"

    thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)