Skip to content

Commit

Permalink
Fix deprecation messages not being logged
Browse files Browse the repository at this point in the history
  • Loading branch information
CelticMinstrel committed Feb 11, 2018
1 parent cbd72e9 commit 8d88d6b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
19 changes: 14 additions & 5 deletions data/lua/core.lua
Expand Up @@ -180,13 +180,21 @@ function wesnoth.deprecation_message(elem_name, level, version, detail)
error(wesnoth.format(_"Invalid deprecation level $level (should be 1-4)", err_params))
end
if #detail > 0 then
logger(message .. "\n " .. detail)
logger(tostring(message .. "\n " .. detail))
else
logger(message)
logger(tostring(message))
end
end

-- Usage: module.something = wesnoth.deprecate(module.something, "something", ...)
-- Marks a function or subtable as deprecated.
-- Parameters:
---- elem_name: the full name of the element being deprecated (including the module)
---- replacement: the name of the element that will replace it (including the module)
---- level: deprecation level (1-4)
---- version: the version at which the element may be removed (level 2 or 3 only)
---- Set to nil if deprecation level is 1 or 4
---- elem: The actual element being deprecated
---- detail_msg: An optional message to add to the deprecation message
function wesnoth.deprecate_api(elem_name, replacement, level, version, elem, detail_msg)
local message = detail_msg or ''
if replacement then
Expand All @@ -195,7 +203,8 @@ function wesnoth.deprecate_api(elem_name, replacement, level, version, elem, det
{replacement = replacement})
end
if type(level) ~= "number" or level < 1 or level > 4 then
error("Invalid deprecation level! Must be 1-4.")
local err_params = {level = level}
error(wesnoth.format(_"Invalid deprecation level $level (should be 1-4)", err_params))
end
local msg_shown = false
if type(elem) == "function" then
Expand All @@ -206,7 +215,7 @@ function wesnoth.deprecate_api(elem_name, replacement, level, version, elem, det
end
return elem(...)
end
elseif type(elem) == "table" or type(elem) == "userdata" then
elseif type(elem) == "table" then
local mt = {
__index = function(key)
if not msg_shown then
Expand Down
2 changes: 1 addition & 1 deletion src/formula/formula.cpp
Expand Up @@ -27,7 +27,7 @@

// This is here only for the below initialization code.
// If other logging is required in this file, it should use a different logdomain
// (probably "scripting/wfl" or something)
// (probably "scripting/formula" or something)
static lg::log_domain log_engine("engine");
#define ERR_NG LOG_STREAM(err, log_engine)

Expand Down

0 comments on commit 8d88d6b

Please sign in to comment.