Fix ARGUMENTS specifications on the command line that have multiple = in them. ...
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sun, 25 Jan 2004 02:07:36 +0000 (02:07 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sun, 25 Jan 2004 02:07:36 +0000 (02:07 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@885 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Script/SConscript.py
test/ARGUMENTS.py

index f03e7bd2cbff011cba207910c86c8d7a92caaa08..ffcfe919bdfa4d6f639b10d1312eff30c1a1c590 100644 (file)
@@ -84,6 +84,10 @@ RELEASE 0.95 - XXX
     of them from cache, not just the first target, and exec the build
     command if any of the targets isn't present in the cache.
 
+  From Zephaniah Hull:
+
+  - Fix command-line ARGUMENTS with multiple = in them.
+
   From Steven Knight:
 
   - Fix EnsureSConsVersion() so it checks against the SCons version,
index 521429f23a81d2324563b55bff095f38233d91ef..90e1fe1751fe4fe809202f83c316d354ecb105a6 100644 (file)
@@ -86,7 +86,7 @@ sconscript_reading = 0
 
 def _scons_add_args(alist):
     for arg in alist:
-        a, b = string.split(arg, '=', 2)
+        a, b = string.split(arg, '=', 1)
         Arguments[a] = b
 
 def _scons_add_targets(tlist):
index ab1f806d557473d0ba2609252cf8dcf485d07966..69947a66b90a1dc997a6a00b5566370f3c7746f4 100644 (file)
@@ -37,11 +37,12 @@ for k in keys:
 foo.close()
 """)
 
-test.run(arguments='a=1 bz=3 xx=sd .')
+test.run(arguments='a=1 bz=3 xx=sd zzz=foo=bar .')
 
 test.fail_test(test.read('foo.out') != """a = 1
 bz = 3
 xx = sd
+zzz = foo=bar
 """)
 
 test.pass_test()