Editing Module:Citation/CS1
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3,915: | Line 3,915: | ||
local function validate (name, cite_class, empty) | local function validate (name, cite_class, empty) | ||
local name = tostring (name); | local name = tostring (name); | ||
local state; | local state; | ||
local function state_test (state, name) -- local function to do testing of state values | local function state_test (state, name) -- local function to do testing of state values | ||
Line 3,943: | Line 3,942: | ||
-- limited enumerated parameters list | -- limited enumerated parameters list | ||
name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) | |||
state = whitelist.limited_numbered_arguments[ | state = whitelist.limited_numbered_arguments[name]; | ||
if true == state_test (state, name) then return true; end | if true == state_test (state, name) then return true; end | ||
Line 3,959: | Line 3,958: | ||
-- all enumerated parameters allowed | -- all enumerated parameters allowed | ||
name = name:gsub("%d+", "#" ); -- replace digit(s) with # (last25 becomes last#) (mw.ustring because non-Western 'local' digits) | |||
state = whitelist.numbered_arguments[ | state = whitelist.numbered_arguments[name]; | ||
if true == state_test (state, name) then return true; end | if true == state_test (state, name) then return true; end | ||
Line 4,139: | Line 4,138: | ||
elseif not utilities.is_set (v) then -- for empty parameters | elseif not utilities.is_set (v) then -- for empty parameters | ||
if not validate (k, config.CitationClass, true) then -- is this empty parameter a valid parameter | if not validate (k, config.CitationClass, true) then -- is this empty parameter a valid parameter | ||
k = ('' == k) and '(empty string)' or k; | k = ('' == k) and k:gsub ('^$', '(empty string)') or k; -- when k is empty string (or was space(s) trimmed to empty string), replace with descriptive text | ||
table.insert (empty_unknowns, utilities.wrap_style ('parameter', k)); -- format for error message and add to the list | table.insert (empty_unknowns, utilities.wrap_style ('parameter', k)); -- format for error message and add to the list | ||
end | end |