<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>