summaryrefslogtreecommitdiffstats
path: root/RELEASE.txt
diff options
context:
space:
mode:
authorMats Wichmann <mats@linux.com>2024-08-14 11:44:00 (GMT)
committerMats Wichmann <mats@linux.com>2024-08-16 14:04:18 (GMT)
commit6cf21b8298d81fa34f583b60d3fd19a4201d8a04 (patch)
treeced83ba6bb64c181f23efdfdf66580760bc9e686 /RELEASE.txt
parent876bb0691bba2e6086ac7c05caf1fb88fbb1cf43 (diff)
downloadSCons-6cf21b8298d81fa34f583b60d3fd19a4201d8a04.zip
SCons-6cf21b8298d81fa34f583b60d3fd19a4201d8a04.tar.gz
SCons-6cf21b8298d81fa34f583b60d3fd19a4201d8a04.tar.bz2
Fix ListVariable with a space-containing value
Fix ListVariable handling of a quoted variable value containing spaces. As a side effect of splitting the former monolithic converter/validator for ListVariable into separate callbacks, it became possible for subst to be called twice. The ListVariable converter produces an instance of a _ListVariable container, and running subst on that result ends up losing information, so avoid doing so. While developing a test for this, it turned out the test framework also didn't handle a quoted argument containing a space, so that a test case passing arguments to scons via "run(arguments='...')" could end up with scons seeing a different (broken) command line than scons invoked with the same arguments typing to a shell prompt. A regex is now used to more accurately split the "arguments" parameter, and a unit test was added to the framework tests to validate. The framework fix had a side effect - it was possible that when run as part of the test suite, the Variables package could receive a value still wrapped in quotes, leading to string mismatches ('"with space"' is not equal to 'with space'), so ListVariable now strips wrapping quote marks. Also during testing it turned out that the earlier fix for #4241, allowing a Variable to declare the value should not be subst'd, introduced problems for two types which assumed they would always be passed a string. With subst=False, they could be passed a default value that had been specified as a bool. Fixed to not fail on that. Fixes #4585 Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'RELEASE.txt')
-rw-r--r--RELEASE.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/RELEASE.txt b/RELEASE.txt
index 2efc001..5b7f9f1 100644
--- a/RELEASE.txt
+++ b/RELEASE.txt
@@ -46,6 +46,8 @@ FIXES
to be avaiable. `BoolVariable`, `EnumVariable`, `ListVariable`,
`PackageVariable` and `PathVariable` are added to `__all__`,
so this form of import should now work again.
+- Fix handling of ListVariable when supplying a quoted choice containing
+ a space character (issue #4585).
IMPROVEMENTS
------------