From 4a3012dd3fc85055c39e00b1ee97a5189bbe19ba Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 13 Feb 2013 12:37:04 +0100 Subject: [PATCH] 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 (cherry picked from qtbase/566d28316dd73bfe4a8ea34839989ee9df7e3895) --- src/shared/proparser/qmakeevaluator.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index d799ee945e7..b2ce9d0374f 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -441,9 +441,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);