remove automatic splitting from $$() expansions
$$(FOO) would automatically split the contents of the environment variable at whitespace (and interpret quoting inside it). the way to prevent the splitting (but not the quote interpretation) would be using "$$(FOO)". this behavior is entirely unexpected and thus an incredibly effective source of quoting problems - according to a grep over the whole qt sources, there isn't a single case where things were done right. in qt creator, well over half the cases are wrong. also, the "feature" seems entirely pointless: nobody uses spaces as separators in environment variables. consequently, simply remove it, even in a patch release. i'm postulating that nobody will complain. Change-Id: I9ed3df1b0d1ef602acd78ceb118611d294561da6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
15177905ff
commit
566d28316d
6
dist/changes-5.0.2
vendored
6
dist/changes-5.0.2
vendored
@ -107,6 +107,12 @@ Qt for Windows CE
|
||||
* Tools *
|
||||
****************************************************************************
|
||||
|
||||
qmake
|
||||
-----
|
||||
|
||||
- $$(VAR) style environment variable expansions will not split on
|
||||
whitespace any more. Use $$split() if necessary.
|
||||
|
||||
|
||||
****************************************************************************
|
||||
* Plugins *
|
||||
|
@ -453,9 +453,9 @@ void QMakeEvaluator::evaluateExpression(
|
||||
break; }
|
||||
case TokEnvVar: {
|
||||
const ProString &var = getStr(tokPtr);
|
||||
const ProStringList &val = split_value_list(m_option->getEnv(var.toQString(m_tmp1)));
|
||||
debugMsg(2, "env var %s => %s", dbgStr(var), dbgStrList(val));
|
||||
addStrList(val, tok, ret, pending, joined);
|
||||
const ProString &val = ProString(m_option->getEnv(var.toQString(m_tmp1)));
|
||||
debugMsg(2, "env var %s => %s", dbgStr(var), dbgStr(val));
|
||||
addStr(val, ret, pending, joined);
|
||||
break; }
|
||||
case TokFuncName: {
|
||||
const ProKey &func = getHashStr(tokPtr);
|
||||
|
Loading…
Reference in New Issue
Block a user