Merged revisions 3225-3226 via svnmerge from
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 12 Nov 2008 00:12:33 +0000 (00:12 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Wed, 12 Nov 2008 00:12:33 +0000 (00:12 +0000)
http://scons.tigris.org/svn/scons/branches/sgk_subst

........
  r3225 | stevenknight | 2008-07-18 10:46:49 -0700 (Fri, 18 Jul 2008) | 3 lines

  Remove an unnecessary \n from the end of the $INSTALLSTR setting (unneeded
  because string substituion currently strips trailing white space).
........
  r3226 | stevenknight | 2008-07-19 07:17:10 -0700 (Sat, 19 Jul 2008) | 3 lines

  Use subst_list() for generating ToolSurrogate *COMSTR values so we don't
  rely on the current white-space compression behavior of subst().
........

git-svn-id: http://scons.tigris.org/svn/scons/trunk@3781 fdb21ef1-2011-0410-befe-b5e4ea1792b1

bin/sconsexamples.py
bin/sconsoutput.py
test/Install/INSTALLSTR.py
test/ToolSurrogate.py

index 5fbdc419493dbc88554ec09ed6e4f4d931909bb0..ac8dce3a906357b11a57ee553ab31135aa189902 100644 (file)
@@ -156,6 +156,7 @@ Prompt = {
 # command output.
 
 Stdin = """\
+import string
 import SCons.Defaults
 
 platform = '%s'
@@ -176,7 +177,10 @@ class Curry:
         return apply(self.fun, self.pending + args, kw)
 
 def Str(target, source, env, cmd=""):
-    return env.subst(cmd, target=target, source=source)
+    result = []
+    for cmd in env.subst_list(cmd, target=target, source=source):
+        result.append(string.join(map(str, cmd)))
+    return string.join(result, '\\n')
 
 class ToolSurrogate:
     def __init__(self, tool, variable, func):
index 536bcea3ea4e34c10cc6de81b2d0afac2335356f..ecc816ce7b60010f233f2fcc0491f7a8d279117a 100644 (file)
@@ -238,7 +238,10 @@ class Curry:
         return apply(self.fun, self.pending + args, kw)
 
 def Str(target, source, env, cmd=""):
-    return env.subst(cmd, target=target, source=source)
+    result = []
+    for cmd in env.subst_list(cmd, target=target, source=source):
+        result.append(string.join(map(str, cmd)))
+    return string.join(result, '\\n')
 
 class ToolSurrogate:
     def __init__(self, tool, variable, func, varlist):
index d809b2cefbd8e69237286691daa8406d90a6fba8..0b515581bba5a6a65ba0b00c747df4f8c37661eb 100644 (file)
@@ -37,7 +37,7 @@ test = TestSCons.TestSCons()
 test.subdir('install')
 
 test.write('SConstruct', """\
-env = Environment(INSTALLSTR = 'INSTALL $SOURCE => $TARGET!\\n')
+env = Environment(INSTALLSTR = 'INSTALL $SOURCE => $TARGET!')
 env.Install('install', 'file')
 """)
 
index 5db156ea27778ee300d7308411712b1c49094867..dd5ea06b63a8adf10ccd2c56577c2b76107644eb 100644 (file)
@@ -34,6 +34,7 @@ import TestSCons
 test = TestSCons.TestSCons()
 
 test.write('SConstruct', """\
+import string
 class Curry:
     def __init__(self, fun, *args, **kwargs):
         self.fun = fun
@@ -50,7 +51,10 @@ class Curry:
         return apply(self.fun, self.pending + args, kw)
 
 def Str(target, source, env, cmd=""):
-    return env.subst(cmd, target=target, source=source)
+    result = []
+    for cmd in env.subst_list(cmd, target=target, source=source):
+        result.append(string.join(map(str, cmd)))
+    return string.join(result, '\\n')
 
 class ToolSurrogate:
     def __init__(self, tool, variable, func):