summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-01-25 02:07:36 (GMT)
committerSteven Knight <knight@baldmt.com>2004-01-25 02:07:36 (GMT)
commita478cc2fd257e58173fed2f3d00a2b0948a64fcf (patch)
treeb1081edb286ef95c33c7297e09772fbdc774fc89
parent3137cbe6b869e0b69c1fafcc6b692ccd099c2109 (diff)
downloadSCons-a478cc2fd257e58173fed2f3d00a2b0948a64fcf.zip
SCons-a478cc2fd257e58173fed2f3d00a2b0948a64fcf.tar.gz
SCons-a478cc2fd257e58173fed2f3d00a2b0948a64fcf.tar.bz2
Fix ARGUMENTS specifications on the command line that have multiple = in them. (Zephaniah Hull)
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/engine/SCons/Script/SConscript.py2
-rw-r--r--test/ARGUMENTS.py3
3 files changed, 7 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index f03e7bd..ffcfe91 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -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,
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 521429f..90e1fe1 100644
--- a/src/engine/SCons/Script/SConscript.py
+++ b/src/engine/SCons/Script/SConscript.py
@@ -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):
diff --git a/test/ARGUMENTS.py b/test/ARGUMENTS.py
index ab1f806..69947a6 100644
--- a/test/ARGUMENTS.py
+++ b/test/ARGUMENTS.py
@@ -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()