<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/0a659428ab1ae9da24226637a24841e24eebf46a">https://github.com/macports/macports-base/commit/0a659428ab1ae9da24226637a24841e24eebf46a</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 0a659428ab1ae9da24226637a24841e24eebf46a
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Sun Dec 17 14:39:58 2023 +0100

<span style='display:block; white-space:pre;color:#404040;'>    Add system note mechanism
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Add a new mechanism in the port client similar to notes for ports, but
</span><span style='display:block; white-space:pre;color:#404040;'>    intended for use by MacPorts itself. These noticed will always be
</span><span style='display:block; white-space:pre;color:#404040;'>    displayed after port notes.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This is useful for the summary printed by migration, for example.
</span>---
 src/port/port.tcl | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port/port.tcl b/src/port/port.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 5e3f95366..4d14a9af0 100755
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port/port.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5045,6 +5045,11 @@ namespace eval portclient::notifications {
</span>     # or requested to be installed.
     variable notificationsToPrint [dict create]
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    ##
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Notifications issues by the MacPorts ports system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variable systemNotifications
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set systemNotifications {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     ##
     # Add a port to the list for printing notifications.
     #
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5058,11 +5063,23 @@ namespace eval portclient::notifications {
</span>         dict set notificationsToPrint $name $notes
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    ##
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Add a system notification to print later.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # @param note
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    #        A note to store and display later.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    proc system_append {note} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        variable systemNotifications
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        lappend systemNotifications $note
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     ##
     # Print port notifications.
     #
     proc display {} {
         variable notificationsToPrint
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        variable systemNotifications
</span> 
         # Display notes at the end of the activation phase.
         if {[dict size $notificationsToPrint] > 0} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5078,6 +5095,20 @@ namespace eval portclient::notifications {
</span>                 dict unset notificationsToPrint $name
             }
         }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[llength $systemNotifications] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_notice "--->  Note:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while {[llength $systemNotifications] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set systemNotifications [lassign $systemNotifications note]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_notice [wrap $note 0 "    "]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[llength $systemNotifications] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_notice {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_notice "---"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ui_notice {}
</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;'>+        }
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5464,6 +5495,7 @@ if {[isatty stdin]
</span> }
 
 set ui_options(notifications_append) portclient::notifications::append
<span style='display:block; white-space:pre;background:#e0ffe0;'>+set ui_options(notifications_system) portclient::notifications::system_append
</span> 
 # Get arguments remaining after option processing
 set remaining_args [lrange $cmd_argv $cmd_argn end]
</pre><pre style='margin:0'>

</pre>