<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/9313be582b735fd837598ae48ac3caff94824e37">https://github.com/macports/macports-base/commit/9313be582b735fd837598ae48ac3caff94824e37</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 9313be5  Treat command.env as a list
</span>9313be5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9313be582b735fd837598ae48ac3caff94824e37
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Tue Mar 19 23:47:34 2019 +1100

<span style='display:block; white-space:pre;color:#404040;'>    Treat command.env as a list
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The previous behaviour involved a complicated regex, made it very
</span><span style='display:block; white-space:pre;color:#404040;'>    difficult to set an environment variable value including quote
</span><span style='display:block; white-space:pre;color:#404040;'>    characters, and was responsible for many cases of variables being in
</span><span style='display:block; white-space:pre;color:#404040;'>    foo.env but not actually appearing in the environment.
</span>---
 src/port1.0/portutil.tcl | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portutil.tcl b/src/port1.0/portutil.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 4bf9433..068d3e6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portutil.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portutil.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -820,12 +820,14 @@ proc parse_environment {command} {
</span>     global ${command}.env ${command}.env_array
 
     if {[info exists ${command}.env]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Flatten the environment string.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set the_environment [join [set ${command}.env]]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        while {[regexp "^(?: *)(\[^= \]+)=(\"|'|)(\[^\"'\]*?)\\2(?: +|$)(.*)$" ${the_environment} matchVar key delimiter value remaining]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set the_environment ${remaining}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set ${command}.env_array(${key}) ${value}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach assignment [set ${command}.env] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set equals_pos [string first = $assignment]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {$equals_pos == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ui_debug "parse_environment: skipping invalid entry: '$assignment'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                continue
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set key [string range $assignment 0 $equals_pos-1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set ${command}.env_array(${key}) [string range $assignment $equals_pos+1 end]
</span>         }
     } else {
         array set ${command}.env_array {}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -839,8 +841,6 @@ proc append_to_environment_value {command key args} {
</span>         if {$value eq {}} {
             continue
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Parse out any delimiters. Is this even necessary anymore?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        regexp {^(['"])(.*)\1$} $value -> delim value
</span> 
         append env_key " $value"
     }
</pre><pre style='margin:0'>

</pre>