Ignore:
Timestamp:
Dec 22, 2003, 9:23:22 AM (15 years ago)
Author:
jkh
Message:

Add index numbers to user procs declared inside variants so that they're
distinguished from one another.
Bug: 1168
Submitted by: pguyot@…

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/src/port1.0/portutil.tcl

    r4213 r4270  
    861861        } else {
    862862                eval "proc $target {args} \{ \n\
    863                         ditem_key $ditem procedure proc-${ident}-${target}
    864                         eval \"proc proc-${ident}-${target} \{name\} \{ \n\
    865                                 if \{\\\[catch userproc-${ident}-${target} result\\\]\} \{ \n\
     863                        variable proc_index \n\
     864                        set proc_index \[llength \[ditem_key $ditem proc\]\] \n\
     865                        ditem_key $ditem procedure proc-${ident}-${target}-\${proc_index}
     866                        eval \"proc proc-${ident}-${target}-\${proc_index} \{name\} \{ \n\
     867                                if \{\\\[catch userproc-${ident}-${target}-\${proc_index} result\\\]\} \{ \n\
    866868                                        return -code error \\\$result \n\
    867869                                \} else \{ \n\
     
    870872                        \}\" \n\
    871873                        eval \"proc do-$target \{\} \{ $origproc $target\}\" \n\
    872                         makeuserproc userproc-${ident}-${target} \$args \n\
     874                        makeuserproc userproc-${ident}-${target}-\${proc_index} \$args \n\
    873875                \}"
    874876        }
    875877        eval "proc pre-$target {args} \{ \n\
    876                         ditem_append $ditem pre proc-pre-${ident}-${target}
    877                         eval \"proc proc-pre-${ident}-${target} \{name\} \{ \n\
    878                                 if \{\\\[catch userproc-pre-${ident}-${target} result\\\]\} \{ \n\
     878                        variable proc_index \n\
     879                        set proc_index \[llength \[ditem_key $ditem pre\]\] \n\
     880                        ditem_append $ditem pre proc-pre-${ident}-${target}-\${proc_index}
     881                        eval \"proc proc-pre-${ident}-${target}-\${proc_index} \{name\} \{ \n\
     882                                if \{\\\[catch userproc-pre-${ident}-${target}-\${proc_index} result\\\]\} \{ \n\
    879883                                        return -code error \\\$result \n\
    880884                                \} else \{ \n\
     
    882886                                \} \n\
    883887                        \}\" \n\
    884                         makeuserproc userproc-pre-${ident}-${target} \$args \n\
     888                        makeuserproc userproc-pre-${ident}-${target}-\${proc_index} \$args \n\
    885889                \}"
    886890        eval "proc post-$target {args} \{ \n\
    887                         ditem_append $ditem post proc-post-${ident}-${target}
    888                         eval \"proc proc-post-${ident}-${target} \{name\} \{ \n\
    889                                 if \{\\\[catch userproc-post-${ident}-${target} result\\\]\} \{ \n\
     891                        variable proc_index \n\
     892                        set proc_index \[llength \[ditem_key $ditem post\]\] \n\
     893                        ditem_append $ditem post proc-post-${ident}-${target}-\${proc_index}
     894                        eval \"proc proc-post-${ident}-${target}-\${proc_index} \{name\} \{ \n\
     895                                if \{\\\[catch userproc-post-${ident}-${target}-\${proc_index} result\\\]\} \{ \n\
    890896                                        return -code error \\\$result \n\
    891897                                \} else \{ \n\
     
    893899                                \} \n\
    894900                        \}\" \n\
    895                         makeuserproc userproc-post-${ident}-${target} \$args \n\
     901                        makeuserproc userproc-post-${ident}-${target}-\${proc_index} \$args \n\
    896902                \}"
    897903    }
Note: See TracChangeset for help on using the changeset viewer.