From e89cde014d381bcac4d0bdd76f385b67122e0489 Mon Sep 17 00:00:00 2001 From: hisham Date: Tue, 13 Oct 2009 22:50:09 +0000 Subject: cleaner behavior git-svn-id: http://luarocks.org/svn/luarocks/trunk@99 9ca3f7c1-7366-0410-b1a3-b5c78f85698c --- src/luarocks/util.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/luarocks/util.lua b/src/luarocks/util.lua index ab6ad34f..662e9739 100644 --- a/src/luarocks/util.lua +++ b/src/luarocks/util.lua @@ -169,11 +169,14 @@ end -- warning the user that substitutions have failed. -- @param line string: the input string local function warn_failed_matches(line) + local any_failed = false if line:match(var_format_pattern) then for unmatched in line:gmatch(var_format_pattern) do warning("unmatched variable " .. unmatched) + any_failed = true end end + return any_failed end --- Perform make-style variable substitutions on string values of a table. @@ -192,7 +195,9 @@ function variable_substitutions(tbl, vars) for k, v in pairs(tbl) do if type(v) == "string" then updated[k] = v:gsub(var_format_pattern, vars) - warn_failed_matches(updated[k]) + if warn_failed_matches(updated[k]) then + updated[k] = updated[k]:gsub(var_format_pattern, "") + end end end for k, v in pairs(updated) do -- cgit v1.2.3-55-g6feb