<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/304b11366e4e13a9cd6a72adfefb4c6907402550">https://github.com/macports/macports-base/commit/304b11366e4e13a9cd6a72adfefb4c6907402550</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 304b11366e4e13a9cd6a72adfefb4c6907402550
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Fri Feb 16 06:29:45 2024 +1100

<span style='display:block; white-space:pre;color:#404040;'>    portlint: use dict for portgroups and depwarned
</span>---
 src/port1.0/portlint.tcl | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portlint.tcl b/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d77eacde4..f09e11b66 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -284,7 +284,7 @@ proc portlint::lint_main {args} {
</span>     set in_description false
     set prohibit_tabs false
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    array set portgroups {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set portgroups [dict create]
</span> 
     set local_variants [list]
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -375,11 +375,11 @@ proc portlint::lint_main {args} {
</span>                 ui_error "Line $lineno has unrecognized PortGroup"
                 incr errors
             } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[info exists portgroups($portgroup)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[dict exists $portgroups $portgroup]} {
</span>                     ui_error "Line $lineno repeats inclusion of PortGroup $portgroup"
                     incr errors
                 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set portgroups($portgroup) $portgroupversion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    dict set portgroups $portgroup $portgroupversion
</span>                 }
             }
             set seen_portgroup true
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -435,7 +435,7 @@ proc portlint::lint_main {args} {
</span>             incr warnings
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[regexp {^\s*compiler\.blacklist(?:-[a-z]+)?\s.*(["{]\S+(?:\s+\S+){2,}["}])} $line -> blacklist] && ![info exists portgroups(compiler_blacklist_versions)]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[regexp {^\s*compiler\.blacklist(?:-[a-z]+)?\s.*(["{]\S+(?:\s+\S+){2,}["}])} $line -> blacklist] && ![dict exists $portgroups compiler_blacklist_versions]} {
</span>             ui_error "Line $lineno uses compiler.blacklist entry $blacklist which requires the compiler_blacklist_versions portgroup which has not been included"
             incr errors
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -513,7 +513,7 @@ proc portlint::lint_main {args} {
</span> 
     if {$seen_portgroup} {
         # Using a PortGroup is optional
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach {portgroup portgroupversion} [array get portgroups] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        dict for {portgroup portgroupversion} $portgroups {
</span>             if {![file exists [getportresourcepath $porturl "port1.0/group/${portgroup}-${portgroupversion}.tcl"]]} {
                 ui_error "Unknown PortGroup: $portgroup-$portgroupversion"
                 incr errors
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -684,14 +684,14 @@ proc portlint::lint_main {args} {
</span>     # Check for multiple dependencies
     foreach deptype {depends_extract depends_patch depends_lib depends_build depends_run depends_test} {
         if {[info exists $deptype]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            array set depwarned {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set depwarned [dict create]
</span>             foreach depspec [set $deptype] {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {![info exists depwarned($depspec)]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {![dict exists $depwarned $depspec]
</span>                         && [llength [lsearch -exact -all [set $deptype] $depspec]] > 1} {
                     ui_warn "Dependency $depspec specified multiple times in $deptype"
                     incr warnings
                     # Report each depspec only once
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    set depwarned($depspec) yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    dict set depwarned $depspec yes
</span>                 }
             }
         }
</pre><pre style='margin:0'>

</pre>