[90174] branches/release_2_0/base

jeremyhu at macports.org jeremyhu at macports.org
Fri Feb 24 22:30:07 PST 2012


Revision: 90174
          http://trac.macports.org/changeset/90174
Author:   jeremyhu at macports.org
Date:     2012-02-24 22:30:03 -0800 (Fri, 24 Feb 2012)
Log Message:
-----------
merge r89839 from trunk:

Add an option to reinplace that will allow choosing a specific locale for sed to operate under.

Revision Links:
--------------
    http://trac.macports.org/changeset/89839

Modified Paths:
--------------
    branches/release_2_0/base/src/port1.0/portutil.tcl

Property Changed:
----------------
    branches/release_2_0/base/


Property changes on: branches/release_2_0/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:79584,79586,79590-79594,79599-79600,79649,79686,79689,79692,79750,79762,79771-79774,79782,79787,79864,79943,80069,80088,80178,80220,80222,80224,80226,80229,80245,80248,80287,80335,80443,80581,80583,80586,80779,80797-80798,80894,80928,80932,80934,80969,80971,81005,81119,81146,81171,81234,81269,81361,81371,81414-81415,81454,81464,81467,81475,81522,81556-81558,81562,81565,81567,81577,81630,81657,81830-81832,82111,82135,82767,82921,82924,82947,83136,83149,83267,83270-83271,83391,83395,83443,83471,83537,84351,84908-84909,84931,84937,86131,88032,88045,88179,88185,89429,89612,89894,89988,89993-89994,90000,90002,90004,90010,90020,90032,90054,90056,90058,90075,90082-90084,90088,90100,90107,90112,90151,90154
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/gsoc09-logging/base:51231-60371
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:79584,79586,79590-79594,79599-79600,79649,79686,79689,79692,79750,79762,79771-79774,79782,79787,79864,79943,80069,80088,80178,80220,80222,80224,80226,80229,80245,80248,80287,80335,80443,80581,80583,80586,80779,80797-80798,80894,80928,80932,80934,80969,80971,81005,81119,81146,81171,81234,81269,81361,81371,81414-81415,81454,81464,81467,81475,81522,81556-81558,81562,81565,81567,81577,81630,81657,81830-81832,82111,82135,82767,82921,82924,82947,83136,83149,83267,83270-83271,83391,83395,83443,83471,83537,84351,84908-84909,84931,84937,86131,88032,88045,88179,88185,89429,89612,89839,89894,89988,89993-89994,90000,90002,90004,90010,90020,90032,90054,90056,90058,90075,90082-90084,90088,90100,90107,90112,90151,90154
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/release_2_0/base/src/port1.0/portutil.tcl
===================================================================
--- branches/release_2_0/base/src/port1.0/portutil.tcl	2012-02-25 01:31:42 UTC (rev 90173)
+++ branches/release_2_0/base/src/port1.0/portutil.tcl	2012-02-25 06:30:03 UTC (rev 90174)
@@ -873,13 +873,25 @@
 # Provides "sed in place" functionality
 proc reinplace {args}  {
 
+    global env
     set extended 0
     set suppress 0
+    set oldlocale_exists 0
+    set oldlocale "" 
+    set locale ""
     while 1 {
         set arg [lindex $args 0]
         if {[string index $arg 0] eq "-"} {
             set args [lrange $args 1 end]
             switch -- [string range $arg 1 end] {
+                locale {
+                    set oldlocale_exists [info exists env(LC_CTYPE)]
+                    if {$oldlocale_exists} {
+                        set oldlocale $env(LC_CTYPE)
+                    }
+                    set locale [lindex $args 0]
+                    set args [lrange $args 1 end]
+                }
                 E {
                     set extended 1
                 }
@@ -928,15 +940,32 @@
             lappend cmdline -n
         }
         set cmdline [concat $cmdline [list $pattern < $file >@ $tmpfd]]
+        if {$locale != ""} {
+            set env(LC_CTYPE) $locale
+        }
         if {[catch {eval exec $cmdline} error]} {
             global errorInfo
             ui_debug "$errorInfo"
             ui_error "reinplace: $error"
             file delete "$tmpfile"
+            if {$locale != ""} {
+                if {$oldlocale_exists} {
+                    set env(LC_CTYPE) $oldlocale
+                } else {
+                    unset env(LC_CTYPE)
+                }
+            }
             close $tmpfd
             return -code error "reinplace sed(1) failed"
         }
 
+        if {$locale != ""} {
+            if {$oldlocale_exists} {
+                set env(LC_CTYPE) $oldlocale
+            } else {
+                unset env(LC_CTYPE)
+            }
+        }
         close $tmpfd
 
         set attributes [file attributes $file]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120224/4f6ce7ef/attachment-0001.html>


More information about the macports-changes mailing list