<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[146653] trunk/base/src/port/port.tcl</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/146653">146653</a></dd>
<dt>Author</dt> <dd>ijackson@macports.org</dd>
<dt>Date</dt> <dd>2016-03-14 17:54:06 -0700 (Mon, 14 Mar 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Replace tabs with whitespaces.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkbasesrcportporttcl">trunk/base/src/port/port.tcl</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkbasesrcportporttcl"></a>
<div class="modfile"><h4>Modified: trunk/base/src/port/port.tcl (146652 => 146653)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/base/src/port/port.tcl        2016-03-15 00:25:28 UTC (rev 146652)
+++ trunk/base/src/port/port.tcl        2016-03-15 00:54:06 UTC (rev 146653)
</span><span class="lines">@@ -5330,206 +5330,206 @@
</span><span class="cx">
</span><span class="cx"> # Create namespace for questions
</span><span class="cx"> namespace eval portclient::questions {
</span><del>-        
-        package require Tclx
-        ##
-        # Function that handles printing of a timeout.
-        #
-        # @param time
-        # The amount of time for which a timeout is to occur.
-        # @param def
-        # The default action to be taken in the occurence of a timeout.
-        proc ui_timeout {def timeout} {
-                fconfigure stdin -blocking 0
</del><ins>+
+ package require Tclx
+ ##
+ # Function that handles printing of a timeout.
+ #
+ # @param time
+ # The amount of time for which a timeout is to occur.
+ # @param def
+ # The default action to be taken in the occurence of a timeout.
+ proc ui_timeout {def timeout} {
+ fconfigure stdin -blocking 0
</ins><span class="cx">
</span><del>-                signal error {TERM INT}
-                while {$timeout >= 0} {
-                        if {[catch {set inp [read stdin]} err]} {
-                                return -code error "Ctrl-C"
-                        }
-                        if {$inp eq "\n"} {
-                                return $def
-                        }
-                        puts -nonewline "\r"
-                        puts -nonewline [format "Continuing in %02d s. Press Ctrl-C to exit: " $timeout]
-                        flush stdout
-                        after 1000
-                        incr timeout -1
-                }
-                puts ""
-                fconfigure stdin -blocking 1
-                signal -restart error {TERM INT}
-                return $def
-        }
-        
-        ##
-        # Main function that displays numbered choices for a multiple choice question.
-        #
-        # @param msg
-        # The question specific message that is to be printed before asking the question.
-        # @param ???name???
-        # May be a qid will be of better use instead as the client does not do anything port specific.
-        # @param ports
-        # The list of ports for which the question is being asked.
-        proc ui_choice {msg name ports} {
-                # Print the main message
-                puts $msg
-                
-                # Print portname or port list suitably
-                set i 1
-                foreach port $ports {
-                        puts -nonewline " $i) "
-                        puts [string map {@ " @" ( " ("} $port]
-                        incr i
-                }
-        }
-        
-        ##
-        # Displays a question with 'yes' and 'no' as options.
-        # Waits for user input indefinitely unless a timeout is specified.
-        # Shows the list of port passed to it without any numbers.
-        #
-        # @param msg
-        # The question specific message that is to be printed before asking the question.
-        # @param ???name???
-        # May be a qid will be of better use instead as the client does not do anything port specific.
-        # @param ports
-        # The port/list of ports for which the question is being asked.
-        # @param def
-        # The default answer to the question.
-        # @param timeout
-        #                  The amount of time for which a timeout is to occur.
-        # @param question
-        # Custom question message. Defaults to "Continue?".
-        proc ui_ask_yesno {msg name ports def {timeout 0} {question "Continue?"}} {
-                # Set number default to the given letter default
-                if {$def == {y}} {
-                        set default 0
-                } else {
-                        set default 1
-                }
-                
-                puts -nonewline $msg
-                set leftmargin " "
-                
-                # Print portname or port list suitably
-                if {[llength $ports] == 1} {
-                        puts -nonewline " "
-                        puts [string map {@ " @"} $ports]
-                } elseif {[llength $ports] == 0} {
-                } else {
-                        puts ""
-                        foreach port $ports {
-                                puts -nonewline $leftmargin
-                                puts [string map {@ " @"} $port]
-                        }
-                }
-                
-                # Check if timeout is set or not
-                if {$timeout > 0} {
-                        # Run ui_timeout and skip the rest of the stuff here
-                        return [ui_timeout $default $timeout]
-                }
-                                
-                # Check for the default and print accordingly
-                if {$def == {y}} {
-                        puts -nonewline "${question} \[Y/n\]: "
-                        flush stdout
-                } else {
-                        puts -nonewline "${question} \[y/N\]: "
-                        flush stdout
-                }
-                
-                # User input (probably requires some input error checking code)
-                while 1 {
-                        signal error {TERM INT}
-                        if {[catch {set input [gets stdin]} err]} {
-                                return -code error "Ctrl-C"
-                        }
-                        signal -restart error {TERM INT}
-                        if {$input in {y Y}} {
-                                return 0
-                        } elseif {$input in {n N}} {
-                                return 1
-                        } elseif {$input == ""} {
-                                return $default
-                        } else {
-                                puts "Please enter either 'y' or 'n'."
-                        }
-                }
-        }
-        
-        ##
-        # Displays a question with a list of numbered choices and asks the user to enter a number to specify their choice.
-        # Waits for user input indefinitely.
-        #
-        # @param msg
-        # The question specific message that is to be printed before asking the question.
-        # @param ???name???
-        # May be a qid will be of better use instead as the client does not do anything port specific.
-        # @param ports
-        # The port/list of ports for which the question is being asked.
-        proc ui_ask_singlechoice {msg name ports} {
-                ui_choice $msg $name $ports
-                                
-                # User Input (single input restriction)
-                while 1 {
-                        puts -nonewline "Enter a number to select an option: "
-                        flush stdout
-                        signal error {TERM INT}
-                        if {[catch {set input [gets stdin]} err]} {
-                                return -code error "Ctrl-C"
-                        }
-                        signal -restart error {TERM INT}
-                        if {($input <= [llength $ports] && [string is integer -strict $input])} {
-                                return $input
-                        } else {
-                                puts "Please enter an index from the above list."
-                        }
-                }
-        }
-        
-        ##
-        # Displays a question with a list of numbered choices and asks the user to enter a space separated string of numbers to specify their choice.
-        # Waits for user input indefinitely.
-        #
-        # @param msg
-        # The question specific message that is to be printed before asking the question.
-        # @param ???name???
-        # May be a qid will be of better use instead as the client does not do anything port specific.
-        # @param ports
-        # The list of ports for which the question is being asked.
-        proc ui_ask_multichoice {msg name ports} {
-                
-                ui_choice $msg $name $ports
-                                
-                # User Input (with Multiple input parsing)
-                while 1 {
-                        puts -nonewline "Enter the numbers to select the options: "
-                        flush stdout
-                        signal error {TERM INT}
-                        if {[catch {set input [gets stdin]} err]} {
-                                return -code error "Ctrl-C"
-                        }
-                        signal -restart error {TERM INT}
-                        set count 0
-                        # check if input is non-empty and otherwise fine
-                        if {$input == ""} {
-                                continue
-                        }
-                        foreach num $input {
-                                if {($num <= [llength $ports] && [string is integer -strict $num])} {
-                                        incr count
-                                } else {
-                                        puts "Please enter numbers separated by a space which are indices from the above list."
-                                        break
-                                }
-                        }
-                        if {$count == [llength $input]} {
-                                return $input
-                        }
-                }
-        }
</del><ins>+ signal error {TERM INT}
+ while {$timeout >= 0} {
+ if {[catch {set inp [read stdin]} err]} {
+ return -code error "Ctrl-C"
+ }
+ if {$inp eq "\n"} {
+ return $def
+ }
+ puts -nonewline "\r"
+ puts -nonewline [format "Continuing in %02d s. Press Ctrl-C to exit: " $timeout]
+ flush stdout
+ after 1000
+ incr timeout -1
+ }
+ puts ""
+ fconfigure stdin -blocking 1
+ signal -restart error {TERM INT}
+ return $def
+ }
+
+ ##
+ # Main function that displays numbered choices for a multiple choice question.
+ #
+ # @param msg
+ # The question specific message that is to be printed before asking the question.
+ # @param ???name???
+ # May be a qid will be of better use instead as the client does not do anything port specific.
+ # @param ports
+ # The list of ports for which the question is being asked.
+ proc ui_choice {msg name ports} {
+ # Print the main message
+ puts $msg
+
+ # Print portname or port list suitably
+ set i 1
+ foreach port $ports {
+ puts -nonewline " $i) "
+ puts [string map {@ " @" ( " ("} $port]
+ incr i
+ }
+ }
+
+ ##
+ # Displays a question with 'yes' and 'no' as options.
+ # Waits for user input indefinitely unless a timeout is specified.
+ # Shows the list of port passed to it without any numbers.
+ #
+ # @param msg
+ # The question specific message that is to be printed before asking the question.
+ # @param ???name???
+ # May be a qid will be of better use instead as the client does not do anything port specific.
+ # @param ports
+ # The port/list of ports for which the question is being asked.
+ # @param def
+ # The default answer to the question.
+ # @param timeout
+ # The amount of time for which a timeout is to occur.
+ # @param question
+ # Custom question message. Defaults to "Continue?".
+ proc ui_ask_yesno {msg name ports def {timeout 0} {question "Continue?"}} {
+ # Set number default to the given letter default
+ if {$def == {y}} {
+ set default 0
+ } else {
+ set default 1
+ }
+
+ puts -nonewline $msg
+ set leftmargin " "
+
+ # Print portname or port list suitably
+ if {[llength $ports] == 1} {
+ puts -nonewline " "
+ puts [string map {@ " @"} $ports]
+ } elseif {[llength $ports] == 0} {
+ } else {
+ puts ""
+ foreach port $ports {
+ puts -nonewline $leftmargin
+ puts [string map {@ " @"} $port]
+ }
+ }
+
+ # Check if timeout is set or not
+ if {$timeout > 0} {
+ # Run ui_timeout and skip the rest of the stuff here
+ return [ui_timeout $default $timeout]
+ }
+
+ # Check for the default and print accordingly
+ if {$def == {y}} {
+ puts -nonewline "${question} \[Y/n\]: "
+ flush stdout
+ } else {
+ puts -nonewline "${question} \[y/N\]: "
+ flush stdout
+ }
+
+ # User input (probably requires some input error checking code)
+ while 1 {
+ signal error {TERM INT}
+ if {[catch {set input [gets stdin]} err]} {
+ return -code error "Ctrl-C"
+ }
+ signal -restart error {TERM INT}
+ if {$input in {y Y}} {
+ return 0
+ } elseif {$input in {n N}} {
+ return 1
+ } elseif {$input == ""} {
+ return $default
+ } else {
+ puts "Please enter either 'y' or 'n'."
+ }
+ }
+ }
+
+ ##
+ # Displays a question with a list of numbered choices and asks the user to enter a number to specify their choice.
+ # Waits for user input indefinitely.
+ #
+ # @param msg
+ # The question specific message that is to be printed before asking the question.
+ # @param ???name???
+ # May be a qid will be of better use instead as the client does not do anything port specific.
+ # @param ports
+ # The port/list of ports for which the question is being asked.
+ proc ui_ask_singlechoice {msg name ports} {
+ ui_choice $msg $name $ports
+
+ # User Input (single input restriction)
+ while 1 {
+ puts -nonewline "Enter a number to select an option: "
+ flush stdout
+ signal error {TERM INT}
+ if {[catch {set input [gets stdin]} err]} {
+ return -code error "Ctrl-C"
+ }
+ signal -restart error {TERM INT}
+ if {($input <= [llength $ports] && [string is integer -strict $input])} {
+ return $input
+ } else {
+ puts "Please enter an index from the above list."
+ }
+ }
+ }
+
+ ##
+ # Displays a question with a list of numbered choices and asks the user to enter a space separated string of numbers to specify their choice.
+ # Waits for user input indefinitely.
+ #
+ # @param msg
+ # The question specific message that is to be printed before asking the question.
+ # @param ???name???
+ # May be a qid will be of better use instead as the client does not do anything port specific.
+ # @param ports
+ # The list of ports for which the question is being asked.
+ proc ui_ask_multichoice {msg name ports} {
+
+ ui_choice $msg $name $ports
+
+ # User Input (with Multiple input parsing)
+ while 1 {
+ puts -nonewline "Enter the numbers to select the options: "
+ flush stdout
+ signal error {TERM INT}
+ if {[catch {set input [gets stdin]} err]} {
+ return -code error "Ctrl-C"
+ }
+ signal -restart error {TERM INT}
+ set count 0
+ # check if input is non-empty and otherwise fine
+ if {$input == ""} {
+ continue
+ }
+ foreach num $input {
+ if {($num <= [llength $ports] && [string is integer -strict $num])} {
+ incr count
+ } else {
+ puts "Please enter numbers separated by a space which are indices from the above list."
+ break
+ }
+ }
+ if {$count == [llength $input]} {
+ return $input
+ }
+ }
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ##########################################
</span><span class="lines">@@ -5587,12 +5587,12 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if {[isatty stdin]
</span><del>-        && [isatty stdout]
-        && (![info exists ui_options(ports_quiet)] || $ui_options(ports_quiet) ne "yes")
-        && (![info exists ui_options(ports_noninteractive)] || $ui_options(ports_noninteractive) ne "yes")} {
-        set ui_options(questions_yesno) portclient::questions::ui_ask_yesno
-        set ui_options(questions_singlechoice) portclient::questions::ui_ask_singlechoice
-        set ui_options(questions_multichoice) portclient::questions::ui_ask_multichoice
</del><ins>+ && [isatty stdout]
+ && (![info exists ui_options(ports_quiet)] || $ui_options(ports_quiet) ne "yes")
+ && (![info exists ui_options(ports_noninteractive)] || $ui_options(ports_noninteractive) ne "yes")} {
+ set ui_options(questions_yesno) portclient::questions::ui_ask_yesno
+ set ui_options(questions_singlechoice) portclient::questions::ui_ask_singlechoice
+ set ui_options(questions_multichoice) portclient::questions::ui_ask_multichoice
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> set ui_options(notifications_append) portclient::notifications::append
</span></span></pre>
</div>
</div>
</body>
</html>