don't send output of $$join() and $$sprintf() through split_value_list()
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>
Tue, 12 Mar 2013 20:48:12 +0000 (21:48 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 21 May 2013 12:43:18 +0000 (14:43 +0200)
in the case of sprintf it's surprising, in the case of join it's
anti-thetical.

Change-Id: I4eb7e56d31ac6ed68adf852f1a19b33554d38eb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
(cherry picked from qtbase/ae94bf2b7a6373def9239ae5f54b143e1f6ffe09)

src/linguist/shared/qmakebuiltins.cpp

index 4ef48b5..a7a0ee7 100644 (file)
@@ -467,8 +467,7 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
             QString tmp = args.at(0).toQString(m_tmp1);
             for (int i = 1; i < args.count(); ++i)
                 tmp = tmp.arg(args.at(i).toQString(m_tmp2));
-            // Note: this depends on split_value_list() making a deep copy
-            ret = split_value_list(tmp);
+            ret << ProString(tmp);
         }
         break;
     case E_FORMAT_NUMBER:
@@ -561,7 +560,7 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
                         src = s;
                         break;
                     }
-                ret = split_value_list(before + var.join(glue) + after, src);
+                ret << ProString(before + var.join(glue) + after).setSource(src);
             }
         }
         break;