<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/5b6a134d66000ca1549ea218850307ef9ae37943">https://github.com/macports/macports-base/commit/5b6a134d66000ca1549ea218850307ef9ae37943</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 5b6a134d6 Pass pure lists to interp eval
</span>5b6a134d6 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5b6a134d66000ca1549ea218850307ef9ae37943
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Nov 25 11:34:40 2023 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Pass pure lists to interp eval
</span>---
 src/darwintracelib1.0/tests/testlib.tcl |   2 +-
 src/macports1.0/macports.tcl            | 114 ++++++++++++++++----------------
 src/macports1.0/reclaim.tcl             |   8 +--
 src/macports1.0/tests/macports.test     |   6 +-
 src/package1.0/tests/portpkg.test       |   2 +-
 src/port1.0/porttrace.tcl               |  24 +++----
 src/port1.0/tests/portactivate.test     |  12 ++--
 src/port1.0/tests/portdeactivate.test   |  10 +--
 src/port1.0/tests/portinstall.test      |  18 ++---
 src/port1.0/tests/portpatch.test        |   4 +-
 src/port1.0/tests/porttest.test         |   8 +--
 src/port1.0/tests/portuninstall.test    |   8 +--
 src/port1.0/tests/portutil.test         |   4 +-
 13 files changed, 110 insertions(+), 110 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/darwintracelib1.0/tests/testlib.tcl b/src/darwintracelib1.0/tests/testlib.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 15d791190..c1d3a9f4c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/darwintracelib1.0/tests/testlib.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/darwintracelib1.0/tests/testlib.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,7 +99,7 @@ proc tracelib_setup {} {
</span>     set fifo_mktemp_template "/tmp/macports-test-XXXXXX"
     set fifo [mktemp $fifo_mktemp_template]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set thread [thread::create -joinable {source threadsetup.tcl}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set thread [thread::create -joinable [list source threadsetup.tcl]]
</span>     thread::send $thread [list setup $fifo]
 
     tracelib setsandbox [join $sandbox :]
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/macports.tcl b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 19c1f97f1..478378943 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/macports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1561,21 +1561,21 @@ proc macports::worker_init {workername portpath porturl portbuildpath options va
</span>     interp hide $workername exit
 
     # cd: This is necessary for some code in port1.0, but should be hidden
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    interp eval $workername {rename cd _cd}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    interp eval $workername [list rename cd _cd]
</span> 
     # Tell the sub interpreter about all the Tcl packages we already
     # know about so it won't glob for packages.
     foreach pkgName [package names] {
         foreach pkgVers [package versions $pkgName] {
             set pkgLoadScript [package ifneeded $pkgName $pkgVers]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $workername eval "package ifneeded $pkgName $pkgVers {$pkgLoadScript}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $workername eval [list package ifneeded $pkgName $pkgVers $pkgLoadScript]
</span>         }
     }
 
     # Create package require abstraction procedure
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval {proc PortSystem {version} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list proc PortSystem {version} {
</span>             package require port $version
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }]
</span> 
     # Clearly separate slave interpreters and the master interpreter.
     $workername alias mport_exec mportexec
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1679,16 +1679,16 @@ proc macports::worker_init {workername portpath porturl portbuildpath options va
</span>     foreach opt $portinterp_deferred_options {
         global macports::$opt
         # define the trace hook.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        $workername eval \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            "proc trace_$opt {name1 name2 op} { \n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                trace remove variable ::$opt read ::trace_$opt \n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                global $opt \n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set $opt \[getoption $opt\] \n\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $workername eval [list \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            proc trace_$opt {name1 name2 op} "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                trace remove variable ::$opt read ::trace_$opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                global $opt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set $opt \[getoption $opt\]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            "]
</span>         # next access will actually define the variable.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        $workername eval "trace add variable ::$opt read ::trace_$opt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $workername eval [list trace add variable ::$opt read ::trace_$opt]
</span>         # define some value now
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        $workername eval "set $opt ?"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $workername eval [list set $opt ?]
</span>     }
 
     foreach {opt val} $options {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1711,27 +1711,27 @@ proc macports::create_thread {} {
</span>     global macports::portinterp_options
 
     # Create the thread.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set result [thread::create -preserved {thread::wait}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set result [thread::create -preserved [list thread::wait]]
</span> 
     # Tell the thread about all the Tcl packages we already
     # know about so it won't glob for packages.
     foreach pkgName [package names] {
         foreach pkgVers [package versions $pkgName] {
             set pkgLoadScript [package ifneeded $pkgName $pkgVers]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            thread::send -async $result "package ifneeded $pkgName $pkgVers {$pkgLoadScript}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            thread::send -async $result [list package ifneeded $pkgName $pkgVers $pkgLoadScript]
</span>         }
     }
 
     # inherit configuration variables.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    thread::send -async $result "namespace eval macports {}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    thread::send -async $result [list namespace eval macports {}]
</span>     foreach opt $portinterp_options {
         if {![info exists $opt]} {
             global macports::$opt
         }
         if {[info exists $opt]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            thread::send -async $result "global macports::$opt"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            thread::send -async $result [list global macports::$opt]
</span>             set val [set macports::$opt]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            thread::send -async $result "set macports::$opt \"$val\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            thread::send -async $result [list set macports::$opt $val]
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2044,24 +2044,24 @@ proc mportopen {porturl {options {}} {variations {}} {nocache {}}} {
</span> 
     # add the default universal variant if appropriate, and set up flags that
     # are conditional on whether universal is set
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval {universal_setup}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list universal_setup]
</span> 
     # evaluate the variants
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval {eval_variants variations}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_variants variations]] != 0} {
</span>         mportclose $mport
         error "Error evaluating variants"
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval {port::run_callbacks}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list port::run_callbacks]
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set actual_subport [$workername eval {set PortInfo(name)}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval {info exists user_options(subport)}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set actual_subport [$workername eval [list set PortInfo(name)]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list info exists user_options(subport)]]} {
</span>         # The supplied subport may have been set on the command line by the
         # user, or simply obtained from the PortIndex or registry. Check that
         # it's valid in case the user made a mistake.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set supplied_subport [$workername eval {set user_options(subport)}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set supplied_subport [$workername eval [list set user_options(subport)]]
</span>         if {$supplied_subport ne $actual_subport} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            set portname [$workername eval {set name}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set portname [$workername eval [list set name]]
</span>             mportclose $mport
             error "$portname does not have a subport '$supplied_subport'"
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2209,7 +2209,7 @@ proc _mportsearchpath {depregex search_path {executable 0} {return_match 0}} {
</span> proc _mportinstalled {mport} {
     # Check for the presence of the port in the registry
     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [$workername eval {registry_exists_for_name $subport}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return [$workername eval [list registry_exists_for_name \$subport]]
</span> }
 
 # Determine if a port is active
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2259,9 +2259,9 @@ proc _mportispresent {mport depspec} {
</span>         set workername [ditem_key $mport workername]
         set type [lindex [split $depspec :] 0]
         switch -- $type {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            lib {return [$workername eval "_libtest $depspec"]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            bin {return [$workername eval "_bintest $depspec"]}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            path {return [$workername eval "_pathtest $depspec"]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            lib {return [$workername eval [list _libtest $depspec]]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            bin {return [$workername eval [list _bintest $depspec]]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            path {return [$workername eval [list _pathtest $depspec]]}
</span>             port {return 0}
             default {return -code error "unknown depspec type: $type"}
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2336,15 +2336,15 @@ proc _mportexec {target mport} {
</span>     macports::push_log $mport
     # xxx: set the work path?
     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval {validate_macportsuser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list validate_macportsuser]
</span> 
     # If the target doesn't need a toolchain (e.g. because an archive is
     # available and we're not going to build it), don't check for the Xcode
     # version (and presence for use_xcode yes ports).
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![catch {$workername eval "check_variants $target"} result] && $result == 0 &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        (![macports::_target_needs_toolchain $workername $target] || (![catch {$workername eval {_check_xcode_version}} result] && $result == 0)) &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ![catch {$workername eval {check_supported_archs}} result] && $result == 0 &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ![catch {$workername eval "eval_targets $target"} result] && $result == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![catch {$workername eval [list check_variants $target]} result] && $result == 0 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        (![macports::_target_needs_toolchain $workername $target] || (![catch {$workername eval [list _check_xcode_version]} result] && $result == 0)) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![catch {$workername eval [list check_supported_archs]} result] && $result == 0 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ![catch {$workername eval [list eval_targets $target]} result] && $result == 0} {
</span>         # If auto-clean mode, clean-up after dependency install
         if {$macports::portautoclean} {
             # Make sure we are back in the port path before clean.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2354,7 +2354,7 @@ proc _mportexec {target mport} {
</span>             # error since the directory it was in is now gone.
             set portpath [ditem_key $mport portpath]
             catch {cd $portpath}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $workername eval {eval_targets clean}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $workername eval [list eval_targets clean]
</span>         }
         macports::pop_log
         return 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2373,9 +2373,9 @@ proc mportexec {mport target} {
</span>     set workername [ditem_key $mport workername]
 
     # check for existence of macportsuser and use fallback if necessary
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval {validate_macportsuser}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list validate_macportsuser]
</span>     # check variants
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval "check_variants $target"] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list check_variants $target]] != 0} {
</span>         return 1
     }
     set portname [_mportkey $mport subport]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2389,14 +2389,14 @@ proc mportexec {mport target} {
</span>     # and will therefore need to check Xcode version and supported_archs.
     if {[macports::_target_needs_toolchain $workername $target]} {
         # possibly warn or error out depending on how old Xcode is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[$workername eval {_check_xcode_version}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[$workername eval [list _check_xcode_version]] != 0} {
</span>             if {$log_needs_pop} {
                 macports::pop_log
             }
             return 1
         }
         # error out if selected arch(s) not supported by this port
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[$workername eval {check_supported_archs}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[$workername eval [list check_supported_archs]] != 0} {
</span>             if {$log_needs_pop} {
                 macports::pop_log
             }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2410,7 +2410,7 @@ proc mportexec {mport target} {
</span>         registry::exclusive_lock
         # see if we actually need to build this port
         if {$target ni {activate install} ||
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ![$workername eval {registry_exists $subport $version $revision $portvariants}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ![$workername eval [list registry_exists \$subport \$version \$revision \$portvariants]]} {
</span> 
             # upgrade dependencies that are already installed
             if {![macports::global_option_isset ports_nodeps]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2516,14 +2516,14 @@ proc mportexec {mport target} {
</span>     }
 
     # Build this port with the specified target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set result [$workername eval "eval_targets $target"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set result [$workername eval [list eval_targets $target]]
</span> 
     # If auto-clean mode and successful install, clean-up after install
     if {$result == 0 && $clean == 1} {
         # Make sure we are back in the port path, just in case
         set portpath [ditem_key $mport portpath]
         catch {cd $portpath}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        $workername eval {eval_targets clean}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        $workername eval [list eval_targets clean]
</span>     }
 
     if {$result != 0 && [info exists ::logenabled] && $::logenabled && [info exists ::debuglogname]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2545,7 +2545,7 @@ proc macports::_upgrade_mport_deps {mport target} {
</span>     array set portinfo [mportinfo $mport]
     array set depscache {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set required_archs [$workername eval {get_canonical_archs}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set required_archs [$workername eval [list get_canonical_archs]]
</span>     set depends_skip_archcheck [_mportkey $mport depends_skip_archcheck]
 
     # Pluralize "arch" appropriately.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2558,7 +2558,7 @@ proc macports::_upgrade_mport_deps {mport target} {
</span>             continue
         }
         foreach depspec $portinfo($deptype) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dep_portname [$workername eval "_get_dep_port $depspec"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set dep_portname [$workername eval [list _get_dep_port $depspec]]
</span>             if {$dep_portname ne "" && ![info exists depscache(port:$dep_portname)] && [$test $dep_portname]} {
                 set variants [list]
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3548,7 +3548,7 @@ proc mports_generate_quickindex {index} {
</span> 
 proc mportinfo {mport} {
     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [$workername eval {array get ::PortInfo}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return [$workername eval [list array get ::PortInfo]]
</span> }
 
 proc mportclose {mport} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3647,7 +3647,7 @@ proc mportdepends {mport {target {}} {recurseDeps 1} {skipSatisfied 1} {accDeps
</span>         unset -nocomplain optionsarray(subport)
         set options [array get optionsarray]
         set variations [ditem_key $mport variations]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set required_archs [$workername eval {get_canonical_archs}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set required_archs [$workername eval [list get_canonical_archs]]
</span>         set depends_skip_archcheck [_mportkey $mport depends_skip_archcheck]
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3658,7 +3658,7 @@ proc mportdepends {mport {target {}} {recurseDeps 1} {skipSatisfied 1} {accDeps
</span>         }
         foreach depspec $portinfo($deptype) {
             # get the portname that satisfies the depspec
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            set dep_portname [$workername eval "_get_dep_port $depspec"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set dep_portname [$workername eval [list _get_dep_port $depspec]]
</span>             # skip port/archs combos we've already seen, and ones with the same port but less archs than ones we've seen (or noarch)
             set seenkey ${dep_portname},[join $required_archs ,]
             set seen 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3756,7 +3756,7 @@ proc mportdepends {mport {target {}} {recurseDeps 1} {skipSatisfied 1} {accDeps
</span> 
                 set supported_archs [_mportkey $depport supported_archs]
                 array unset variation_array
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                array set variation_array [[ditem_key $depport workername] eval {array get requested_variations}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                array set variation_array [[ditem_key $depport workername] eval [list array get requested_variations]]
</span>                 mportclose $depport
                 if {$depListName ne {}} {
                     dlist_delete depList $depport
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3840,7 +3840,7 @@ proc macports::_mport_supports_archs {mport required_archs} {
</span> # return the archs of the given mport
 proc macports::_mport_archs {mport} {
     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    return [$workername eval {get_canonical_archs}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return [$workername eval [list get_canonical_archs]]
</span> }
 
 # check if the active version of a port supports the given archs
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3975,7 +3975,7 @@ proc macports::_target_needs_toolchain {workername target} {
</span>         mpkg {
             # check if an archive is available; if there isn't we'll need
             # a toolchain for these
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            return [expr {![$workername eval _archive_available]}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return [expr {![$workername eval [list _archive_available]]}]
</span>         }
 
         default {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4000,7 +4000,7 @@ proc macports::_deptypes_for_target {target workername} {
</span>         mdmg        -
         mpkg        {
             if {[global_option_isset ports_binary_only] ||
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                (![global_option_isset ports_source_only] && [$workername eval {_archive_available}])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                (![global_option_isset ports_source_only] && [$workername eval [list _archive_available]])} {
</span>                 return [list depends_lib depends_run]
             } else {
                 return [list depends_fetch depends_extract depends_patch depends_build depends_lib depends_run]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4010,8 +4010,8 @@ proc macports::_deptypes_for_target {target workername} {
</span>         activate    -
         {}          {
             if {[global_option_isset ports_binary_only] ||
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                [$workername eval {registry_exists $subport $version $revision $portvariants}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                || (![global_option_isset ports_source_only] && [$workername eval {_archive_available}])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                [$workername eval [list registry_exists \$subport \$version \$revision \$portvariants]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                || (![global_option_isset ports_source_only] && [$workername eval [list _archive_available]])} {
</span>                 return [list depends_lib depends_run]
             } else {
                 return [list depends_fetch depends_extract depends_patch depends_build depends_lib depends_run]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4485,7 +4485,7 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span>             # fresh one will be either fetched or built locally.
             # Ideally this would be done in the interp_options when we mportopen,
             # but we don't know if we want to do this at that point.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $workername eval {set force_archive_refresh yes}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $workername eval [list set force_archive_refresh yes]
</span> 
             # run archivefetch and (if needed) destroot for version_in_tree
             # doing this instead of just running install ensures that we have the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4533,7 +4533,7 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span>     # (deactivating the old version will unload the startupitem)
     set loaded_startupitems [list]
     if {$portname eq $newname} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set loaded_startupitems [$workername eval {portstartupitem::loaded}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set loaded_startupitems [$workername eval [list portstartupitem::loaded]]
</span>     }
 
     # are we installing an existing version due to force or epoch override?
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4609,14 +4609,14 @@ proc macports::_upgrade {portname dspec variationslist optionslist {depscachenam
</span>             return 1
         }
         if {$loaded_startupitems ne ""} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $workername eval "set ::portstartupitem::load_only [list $loaded_startupitems]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $workername eval [list set ::portstartupitem::load_only $loaded_startupitems]
</span>             if {[catch {mportexec $mport load} result]} {
                 ui_debug $::errorInfo
                 ui_warn "Error loading startupitem(s) for ${newname}: $result"
             } elseif {$result != 0} {
                 ui_warn "Error loading startupitem(s) for ${newname}: $result"
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            $workername eval "unset ::portstartupitem::load_only"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            $workername eval [list unset ::portstartupitem::load_only]
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4792,7 +4792,7 @@ proc macports::_upgrade_dependencies {portinfoname depscachename variationslistn
</span>     foreach dtype $dtypes {
         if {[info exists portinfo($dtype)]} {
             foreach i $portinfo($dtype) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                set d [$parentworker eval "_get_dep_port $i"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set d [$parentworker eval [list _get_dep_port $i]]
</span>                 if {$d eq ""} {
                     set d [lindex [split $i :] end]
                 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/reclaim.tcl b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 38f6f935a..aac542bc3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/reclaim.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -348,12 +348,12 @@ namespace eval reclaim {
</span>                 set workername [ditem_key $mport workername]
 
                 # Append that port's distfiles to the list
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                set cacheinfo(dist_subdir) [$workername eval {set dist_subdir}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                set distfiles   [$workername eval {set distfiles}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[catch {$workername eval {set patchfiles}} patchfiles]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set cacheinfo(dist_subdir) [$workername eval [list set dist_subdir]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set distfiles [$workername eval [list set distfiles]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[catch {$workername eval [list set patchfiles]} patchfiles]} {
</span>                     set patchfiles [list]
                 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                set filespath [$workername eval {set filespath}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set filespath [$workername eval [list set filespath]]
</span> 
                 set cacheinfo(distfiles) [list]
                 foreach file [concat $distfiles $patchfiles] {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/macports1.0/tests/macports.test b/src/macports1.0/tests/macports.test
</span><span style='display:block; white-space:pre;color:#808080;'>index f49462a09..b59eaacba 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/macports1.0/tests/macports.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/macports1.0/tests/macports.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,13 +74,13 @@ test worker_init {
</span>     if {$name ne "interp0"} {
         return "FAIL: wrong workername"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {$name eval source Portfile} result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {$name eval [list source Portfile]} result]} {
</span>         return "FAIL: cannot load Portfile"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$name eval findBinary ls] ne "/bin/ls"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$name eval [list findBinary ls]] ne "/bin/ls"} {
</span>         return "FAIL: alias not created"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$name eval return \$os_arch] ne $macports::os_arch} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$name eval [list set os_arch]] ne $macports::os_arch} {
</span>         return "FAIL: var not set"
     }
     return "Worker init successful."
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/package1.0/tests/portpkg.test b/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;color:#808080;'>index dd36192eb..ff2c45c70 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/package1.0/tests/portpkg.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,7 +40,7 @@ test pkg_main {
</span>     set workername [ditem_key $mport workername]
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets pkg] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets pkg]] != 0} {
</span>         return "FAIL: cannot create pkg. Maybe should update ports tree ?"
     }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/porttrace.tcl b/src/port1.0/porttrace.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 26d64adce..aec7c0cd7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/porttrace.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/porttrace.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -401,28 +401,28 @@ namespace eval porttrace {
</span>         set thread [macports_create_thread]
 
         # The slave thread needs this file and macports 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "package require porttrace 1.0"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "package require macports 1.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list package require porttrace 1.0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list package require macports 1.0]
</span> 
         # slave needs ui_{info,warn,debug,error}...
         # make sure to sync this with ../pextlib1.0/tracelib.c!
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "macports::ui_init debug"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "macports::ui_init info"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "macports::ui_init warn"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "macports::ui_init error"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list macports::ui_init debug]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list macports::ui_init info]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list macports::ui_init warn]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list macports::ui_init error]
</span> 
         # and these variables
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "set prefix \"$prefix\"; set developer_dir \"$developer_dir\""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list set prefix $prefix ; set developer_dir $developer_dir]
</span>         # The slave thread requires the registry package.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "package require registry 1.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list package require registry 1.0]
</span>         # and an open registry
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "registry::open [file join ${registry.path} registry registry.db]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list registry::open [file join ${registry.path} registry registry.db]]
</span> 
         # Initialize the slave
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send $thread "porttrace::slave_init $fifo $workpath"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send $thread [list porttrace::slave_init $fifo $workpath]
</span> 
         # Run slave asynchronously
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        thread::send -async $thread "porttrace::slave_run"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        thread::send -async $thread [list porttrace::slave_run]
</span>     }
 
     ##
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -476,7 +476,7 @@ namespace eval porttrace {
</span>     proc slave_send {command} {
         variable thread
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[thread::send $thread "$command" result]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[thread::send $thread $command result]} {
</span>             return -code error "thread::send \"$command\" failed: $result"
         }
         return $result
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portactivate.test b/src/port1.0/tests/portactivate.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 92ccb8e5a..9d456a07b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portactivate.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portactivate.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -107,27 +107,27 @@ test activate_main {
</span>     set macports::channels(msg)    {}
     set macports::channels(notice) {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: port install failed"
     }
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets activate] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets activate]] != 0} {
</span>         return "FAIL: cannot activate port after install"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets deactivate] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets deactivate]] != 0} {
</span>         return "FAIL: cannot deactivate port"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets activate] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets activate]] != 0} {
</span>         return "FAIL: cannot activate port after deactivate"
     }
     return "Port activate successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     array set macports::channels $oldchannels
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portdeactivate.test b/src/port1.0/tests/portdeactivate.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 8d47080ea..17d4b78a4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portdeactivate.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portdeactivate.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,24 +74,24 @@ test deactivate_main {
</span>     set macports::channels(msg)    {}
     set macports::channels(notice) {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: port install failed"
     }
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets activate] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets activate]] != 0} {
</span>         return "FAIL: cannot activate port after install"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets deactivate] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets deactivate]] != 0} {
</span>         return "FAIL: cannot deactivate port after activate"
     }
     return "Port deactivate successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     array set macports::channels $oldchannels
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portinstall.test b/src/port1.0/tests/portinstall.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 40114e012..c5660bce5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portinstall.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portinstall.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -71,7 +71,7 @@ test create_archive {
</span>     set workername [ditem_key $mport workername]
 
     # run destroot
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets destroot] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets destroot]] != 0} {
</span>         return "FAIL: destroot failed"
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,21 +83,21 @@ test create_archive {
</span>     set macports::channels(msg)    {}
     set macports::channels(notice) {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: port install failed"
     }
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[catch {$workername eval portinstall::create_archive $create tgz}] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[catch {$workername eval [list portinstall::create_archive $create tgz]}] != 0} {
</span>         return "FAIL: cannot create archive"
     }
     return "Create archive successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     array set macports::channels $oldchannels
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,7 +143,7 @@ test install_main {
</span>     set workername [ditem_key $mport workername]
 
     # run destroot
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets destroot] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets destroot]] != 0} {
</span>         return "FAIL: destroot failed"
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -156,16 +156,16 @@ test install_main {
</span>     set macports::channels(notice) {}
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: cannot install port"
     }
     return "Install main successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     array set macports::channels $oldchannels
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portpatch.test b/src/port1.0/tests/portpatch.test
</span><span style='display:block; white-space:pre;color:#808080;'>index e15a04c29..6244b0b05 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portpatch.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portpatch.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,10 +54,10 @@ test patch_main {
</span> 
     set mport [mportopen file://.]
     set workername [ditem_key $mport workername]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    $workername eval "set patchfiles {file.diff}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    $workername eval [list set patchfiles file.diff]
</span> 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets patch]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets patch]]} {
</span>         return "FAIL: cannot run patch"
     }
     if {![file exists $pwd/work/emptyport-0.2/test_patch]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/porttest.test b/src/port1.0/tests/porttest.test
</span><span style='display:block; white-space:pre;color:#808080;'>index eb60b388e..841111a6a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/porttest.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/porttest.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,22 +44,22 @@ test test_main {
</span>     set macports::channels(msg)    {}
     set macports::channels(notice) {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: port install failed"
     }
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets test] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets test]] != 0} {
</span>         return "FAIL: test target failed"
     }
 
     return "Test main successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     file delete -force $pwd/work
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portuninstall.test b/src/port1.0/tests/portuninstall.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 129958701..c6b681dd6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portuninstall.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portuninstall.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,7 @@ test uninstall_main {
</span>     set workername [ditem_key $mport workername]
 
     # run destroot
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets destroot] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets destroot]] != 0} {
</span>         return "FAIL: destroot failed"
     }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,18 +69,18 @@ test uninstall_main {
</span>     set macports::channels(msg)    {}
     set macports::channels(notice) {}
     
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets install] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets install]] != 0} {
</span>         return "FAIL: cannot install port"
     }
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets uninstall] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets uninstall]] != 0} {
</span>         return "FAIL: uninstall failed"
     }
     return "Uninstall main successful."
 
 } -cleanup {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets clean] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets clean]] != 0} {
</span>         return "FAIL: clean failed"
     }
     
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portutil.test b/src/port1.0/tests/portutil.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 35309e1e7..fce070a75 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portutil.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portutil.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -527,10 +527,10 @@ test eval_targets {
</span>     set workername [ditem_key $mport workername]
 
 } -body {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval catch {eval_targets macport}] != 1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets macport]] != 1} {
</span>         return "FAIL: invalid target detected"
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[$workername eval eval_targets checksum] != 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[$workername eval [list eval_targets checksum]] != 0} {
</span>         puts $::errorInfo
         return "FAIL: valid target not detected"
     }
</pre><pre style='margin:0'>

</pre>