On Apr 13, 2009, at 02:40, [email protected] wrote:

Revision: 49606
          http://trac.macports.org/changeset/49606
Author:   [email protected]
Date:     2009-04-13 00:40:18 -0700 (Mon, 13 Apr 2009)
Log Message:
-----------
port1.0/portactivate.tcl - Wrap notes output to the terminal's width.

We already have the wrapline procedure to do this (added in r34354). Could this be used here as well, instead of having another separate line wrapping implementation?


Modified Paths:
--------------
    trunk/base/src/port1.0/portactivate.tcl

Modified: trunk/base/src/port1.0/portactivate.tcl
===================================================================
--- trunk/base/src/port1.0/portactivate.tcl 2009-04-13 05:55:44 UTC (rev 49605) +++ trunk/base/src/port1.0/portactivate.tcl 2009-04-13 07:40:18 UTC (rev 49606)
@@ -52,12 +52,39 @@
 set_ui_prefix

 proc portactivate::activate_main {args} {
- global portname portversion portrevision portvariants user_options portnotes + global env portname portversion portrevision portvariants user_options portnotes registry_activate $portname ${portversion}_${portrevision}$ {portvariants} [array get user_options]

     # Display notes at the end of the activation phase.
     if {[info exists portnotes] && $portnotes ne {}} {
-        ui_msg \n$portnotes\n
+ # If env(COLUMNS) exists, limit each line's width to this width.
+        if {[info exists env(COLUMNS)]} {
+            set maxlen $env(COLUMNS)
+
+            ui_msg ""
+            foreach line [split $portnotes "\n"] {
+                set joiner ""
+                set lines ""
+                set newline ""
+
+                foreach word [split $line " "] {
+ if {[string length $newline] + [string length $word] >= $maxlen} {
+                        lappend lines $newline
+                        set newline ""
+                        set joiner ""
+                    }
+                    append newline $joiner $word
+                    set joiner " "
+                }
+                if {$newline ne {}} {
+                    lappend lines $newline
+                }
+                ui_msg [join $lines "\n"]
+            }
+            ui_msg ""
+        } else {
+            ui_msg \n$portnotes\n
+        }
     }

     return 0


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev

Reply via email to