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

</pre>
<p><a href="https://github.com/macports/mpbb/commit/9135194bf94f6d5c6309ec6173cd9a112b7f5969">https://github.com/macports/mpbb/commit/9135194bf94f6d5c6309ec6173cd9a112b7f5969</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9135194bf94f6d5c6309ec6173cd9a112b7f5969
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Mar 20 12:30:31 2018 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Avoid linear search
</span>---
 tools/sort-with-subports.tcl | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tools/sort-with-subports.tcl b/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 97ee43c..853ae67 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tools/sort-with-subports.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,16 +47,15 @@ proc ui_channels {priority} {
</span> 
 
 proc process_port_deps {portname portdeps_in portlist_in} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   upvar $portdeps_in portdeps
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   upvar $portlist_in portlist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if {[info exists portdeps($portname)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      foreach portdep $portdeps($portname) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         if {$portdep ni $portlist} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    upvar $portdeps_in portdeps
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    upvar $portlist_in portlist
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach portdep $portdeps($portname) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[info exists portdeps($portdep)]} {
</span>             process_port_deps $portdep portdeps portlist
<span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      lappend portlist $portname
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    lappend portlist $portname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    unset portdeps($portname)
</span> }
 
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,7 +122,7 @@ while {$todo ne {}} {
</span> 
 set portlist [list]
 foreach portname [lsort -dictionary [array names portdepinfo]] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   if {$portname ni $portlist} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[info exists portdepinfo($portname)]} {
</span>       process_port_deps $portname portdepinfo portlist
    }
 }
</pre><pre style='margin:0'>

</pre>