diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-05-16 17:19:06 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-05-21 14:43:07 +0200 |
commit | 9a36904e158d85f86155bf07c9038988e46461ae (patch) | |
tree | 794f96541b44f6dba51b3babc906c1158a419ac6 | |
parent | 8591d77fa6d3383c07c373970e59362ff16b143f (diff) | |
download | qttools-9a36904e158d85f86155bf07c9038988e46461ae.tar.gz |
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>
(cherry picked from qtbase/566d28316dd73bfe4a8ea34839989ee9df7e3895)
-rw-r--r-- | src/linguist/shared/qmakeevaluator.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/linguist/shared/qmakeevaluator.cpp b/src/linguist/shared/qmakeevaluator.cpp index e9f0f2039..7259e811c 100644 --- a/src/linguist/shared/qmakeevaluator.cpp +++ b/src/linguist/shared/qmakeevaluator.cpp @@ -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); |