<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ARedirect_template_handler</id>
	<title>Module:Redirect template handler - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ARedirect_template_handler"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Redirect_template_handler&amp;action=history"/>
	<updated>2026-05-24T05:31:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Redirect_template_handler&amp;diff=144622&amp;oldid=prev</id>
		<title>imported&gt;MusikBot II: Changed protection settings for &quot;Module:Redirect template handler&quot;: High-risk template or module 5891 transclusions (more info) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Redirect_template_handler&amp;diff=144622&amp;oldid=prev"/>
		<updated>2021-08-17T01:25:11Z</updated>

		<summary type="html">&lt;p&gt;Changed protection settings for &amp;quot;&lt;a href=&quot;/research/Module:Redirect_template_handler&quot; title=&quot;Module:Redirect template handler&quot;&gt;Module:Redirect template handler&lt;/a&gt;&amp;quot;: &lt;a href=&quot;https://en.wikipedia.org/wiki/High-risk_templates&quot; class=&quot;extiw&quot; title=&quot;wikipedia:High-risk templates&quot;&gt;High-risk template or module&lt;/a&gt; 5891 transclusions (&lt;a href=&quot;/index.php?title=User:MusikBot_II/TemplateProtector&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:MusikBot II/TemplateProtector (page does not exist)&quot;&gt;more info&lt;/a&gt;) ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local currentFrame&lt;br /&gt;
local redirectTemplateList = {}&lt;br /&gt;
local debugTemplateUsedList = {}&lt;br /&gt;
local errorList = {&lt;br /&gt;
	[&amp;quot;MULTI_SERIES&amp;quot;] = &amp;quot;|multi_series_name_table= can only be used in other modules&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Local function which validates parameter usage through Module:Check for unknown parameters.&lt;br /&gt;
If calling module has additional valid args that are not part of this module,&lt;br /&gt;
it should pass them as a seperate table - &amp;quot;additonalValidArgs&amp;quot;.&lt;br /&gt;
--]]&lt;br /&gt;
local function getUnknownParametersErrors(args, additonalValidArgs)&lt;br /&gt;
	local templateName = currentFrame:getParent():getTitle() or &amp;quot;Module:Redirect template handler&amp;quot;&lt;br /&gt;
	local validArgs = {&lt;br /&gt;
		[&amp;quot;unknown&amp;quot;] = &amp;quot;[[Category:Pages using Module:Redirect template handler with unknown parameters|_VALUE_]]&amp;quot;,&lt;br /&gt;
		[&amp;quot;preview&amp;quot;] = &amp;#039;Page using [[&amp;#039; .. templateName .. &amp;#039;]] with unknown parameter &amp;quot;_VALUE_&amp;quot;.&amp;#039;,&lt;br /&gt;
		&amp;quot;alt_name&amp;quot;,&lt;br /&gt;
		&amp;quot;alt_spelling&amp;quot;,&lt;br /&gt;
		&amp;quot;anchor&amp;quot;,&lt;br /&gt;
		&amp;quot;capitalisation&amp;quot;,&lt;br /&gt;
		&amp;quot;correct_disambiguation&amp;quot;,&lt;br /&gt;
		&amp;quot;dab_exception&amp;quot;,&lt;br /&gt;
		&amp;quot;draft_move&amp;quot;,&lt;br /&gt;
		&amp;quot;former_name&amp;quot;,&lt;br /&gt;
		&amp;quot;history&amp;quot;,&lt;br /&gt;
		&amp;quot;incorrect_name&amp;quot;,&lt;br /&gt;
		&amp;quot;list&amp;quot;,&lt;br /&gt;
		&amp;quot;long_name&amp;quot;,&lt;br /&gt;
		&amp;quot;merge&amp;quot;,&lt;br /&gt;
		&amp;quot;primary&amp;quot;,&lt;br /&gt;
		&amp;quot;restricted&amp;quot;,&lt;br /&gt;
		&amp;quot;section&amp;quot;,&lt;br /&gt;
		&amp;quot;series_name&amp;quot;,&lt;br /&gt;
		&amp;quot;short_name&amp;quot;,&lt;br /&gt;
		&amp;quot;to_article&amp;quot;,&lt;br /&gt;
		&amp;quot;to_diacritic&amp;quot;,&lt;br /&gt;
		&amp;quot;unneeded_dab&amp;quot;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- Add optional series_name2-10 parameters.&lt;br /&gt;
	for i = 2, 10 do&lt;br /&gt;
		table.insert(validArgs, &amp;quot;series_name&amp;quot; .. i)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Safety check.&lt;br /&gt;
	if (additonalValidArgs) then&lt;br /&gt;
		for i = 1, #additonalValidArgs do&lt;br /&gt;
			table.insert(validArgs, additonalValidArgs[i])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local checkForUnknownParameters = require(&amp;quot;Module:Check for unknown parameters&amp;quot;)&lt;br /&gt;
	return checkForUnknownParameters._check(validArgs, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
Local function which handles the addition of redirect templates.&lt;br /&gt;
--]]&lt;br /&gt;
local function addRedirectTemplate(templateName, templateArgs)&lt;br /&gt;
	-- Args might already be a table.&lt;br /&gt;
	if (type(templateArgs) ~= &amp;quot;table&amp;quot;) then&lt;br /&gt;
		templateArgs = {templateArgs}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get the redirect template.&lt;br /&gt;
	local redirectTemplate = currentFrame:expandTemplate{title = templateName, args = templateArgs}&lt;br /&gt;
	-- Insert it to the redirect template list.&lt;br /&gt;
	table.insert(redirectTemplateList, redirectTemplate)&lt;br /&gt;
	-- Insert the name only to the debug list.&lt;br /&gt;
	table.insert(debugTemplateUsedList, templateName)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which retrieves the redirect&amp;#039;s correct disambiguation style.&lt;br /&gt;
This is needed to check if the current redirect title is using a correct disambiguation or not.&lt;br /&gt;
--]]&lt;br /&gt;
local function getCorrectDisambiguation(args)&lt;br /&gt;
	-- If a correct disambiguation was set, use it.&lt;br /&gt;
	if (args.correct_disambiguation) then&lt;br /&gt;
		return args.correct_disambiguation&lt;br /&gt;
	elseif (args.series_name) then&lt;br /&gt;
		-- If not, return the series name without disambiguation.&lt;br /&gt;
		local correctDisambiguation = string.gsub(args.series_name, &amp;quot;%(.*%)&amp;quot;, &amp;quot;&amp;quot;, 1)&lt;br /&gt;
		return mw.text.trim(correctDisambiguation)&lt;br /&gt;
	else&lt;br /&gt;
		-- If no series name was set, return an empty string.&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which retrieves the redirect&amp;#039;s current disambiguation, if any.&lt;br /&gt;
--]]&lt;br /&gt;
local function getDisambiguation(args)&lt;br /&gt;
	local title&lt;br /&gt;
	if (args.test_title) then&lt;br /&gt;
		title = args.test_title&lt;br /&gt;
	else&lt;br /&gt;
		title = mw.title.getCurrentTitle().text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local stringMatch = require(&amp;quot;Module:String&amp;quot;)._match&lt;br /&gt;
	-- Return disambiguation.&lt;br /&gt;
	return stringMatch(title, &amp;quot;%s%((.-)%)&amp;quot;, 1, -1, false, &amp;quot;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which checks if the current disambiguation used&lt;br /&gt;
is using a correct disambiguation style.&lt;br /&gt;
&lt;br /&gt;
Returns true if one of the following is correct:&lt;br /&gt;
	-- Has no disambiguation.&lt;br /&gt;
	-- Disambiguation is equal to a correct disambiguation style.&lt;br /&gt;
	-- Disambiguation is equal to an extended correct disambiguation style,&lt;br /&gt;
		which includes the type of redirects.&lt;br /&gt;
	-- Disambiguation is tagged with an allowed exception.&lt;br /&gt;
--]]&lt;br /&gt;
local function isRedirectUsingCorrectDisambiguation(args, objectType)&lt;br /&gt;
	local disambiguation = getDisambiguation(args)&lt;br /&gt;
	local correctDisambiguation = getCorrectDisambiguation(args)&lt;br /&gt;
	objectType = objectType or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if (args.dab_exception or &lt;br /&gt;
		(not disambiguation) or &lt;br /&gt;
		(disambiguation == &amp;quot;&amp;quot;) or&lt;br /&gt;
		(disambiguation == correctDisambiguation) or &lt;br /&gt;
		(disambiguation == correctDisambiguation .. &amp;quot; &amp;quot; .. objectType)&lt;br /&gt;
		) then&lt;br /&gt;
		return true&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which handles all the shared character, element and location redirect handling code.&lt;br /&gt;
--]]&lt;br /&gt;
local function getRedirectCategoryTemplates(args, objectType)&lt;br /&gt;
	local mainRedirect = true&lt;br /&gt;
	local printworthy = true&lt;br /&gt;
&lt;br /&gt;
-----------------[[ Printworthy categories ]]-----------------&lt;br /&gt;
&lt;br /&gt;
	-- See [[WP:NCHASHTAG]] for more details.&lt;br /&gt;
	-- This redirect can be a main redirect.&lt;br /&gt;
	if (args.restricted) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R restricted&amp;quot;, args.restricted)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (args.birth_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from birth name&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.alt_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from alternative name&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.former_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from former name&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.short_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from short name&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.long_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from long name&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.sort_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from sort name&amp;quot;, {string.sub(args.sort_name, 1, 1), string.sub(args.sort_name, 2)})&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
-----------------[[ Unprintworthy categories ]]-----------------&lt;br /&gt;
&lt;br /&gt;
	if (args.title_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from name with title&amp;quot;)&lt;br /&gt;
		printworthy = false&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.alt_spelling) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from alternative spelling&amp;quot;, args.alt_spelling)&lt;br /&gt;
		printworthy = false&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.to_diacritic) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R to diacritic&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.incorrect_name) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from incorrect name&amp;quot;, args.primary or args.incorrect_name)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.capitalisation) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from miscapitalisation&amp;quot;, args.primary or args.capitalisation)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.unneeded_dab) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from unnecessary disambiguation&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (not isRedirectUsingCorrectDisambiguation(args, objectType)) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from incorrect disambiguation&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.draft_move) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from move&amp;quot;)&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from drafts&amp;quot;)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
		printworthy = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
-----------------[[ Technical categories ]]-----------------&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	Redirect target can be:&lt;br /&gt;
	-- a link to an anchor in a list.&lt;br /&gt;
	-- a link to a list, where the redirect is an entry.&lt;br /&gt;
	-- an article, for which the redirect is an alt title of. These are not currently categorized.&lt;br /&gt;
	-- a section of an article.&lt;br /&gt;
	]]--&lt;br /&gt;
	if (args.anchor) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R to anchor&amp;quot;)&lt;br /&gt;
	elseif (args.list) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R to list entry&amp;quot;)&lt;br /&gt;
	elseif (args.to_article) then&lt;br /&gt;
		-- Currently do nothing.&lt;br /&gt;
	else&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R to section&amp;quot;)	&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.primary) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R avoided double redirect&amp;quot;, args.primary)&lt;br /&gt;
		mainRedirect = false&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (args.merge) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from merge&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (args.history) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R with history&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (mainRedirect) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R with possibilities&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (printworthy) then&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R printworthy&amp;quot;)&lt;br /&gt;
	else&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R unprintworthy&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat(redirectTemplateList), mainRedirect&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which handles the main process.&lt;br /&gt;
--]]&lt;br /&gt;
local function main(args, objectType, validArgs)&lt;br /&gt;
	local redirectCategoryTemplates, mainRedirect = getRedirectCategoryTemplates(args, objectType)&lt;br /&gt;
	local redirectCategoryShell = currentFrame:expandTemplate{title = &amp;quot;Redirect category shell&amp;quot;, args = {redirectCategoryTemplates}}&lt;br /&gt;
	&lt;br /&gt;
	local unknownParametersErrors = getUnknownParametersErrors(args, validArgs)&lt;br /&gt;
	-- Used for /testcases testing.&lt;br /&gt;
	if (args.test) then&lt;br /&gt;
		return table.concat(debugTemplateUsedList, &amp;quot;, &amp;quot;), mainRedirect&lt;br /&gt;
	else&lt;br /&gt;
		return redirectCategoryShell, mainRedirect, unknownParametersErrors&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Local function which is used when redirects are tagged with more than one series name.&lt;br /&gt;
It retrieves the complete lists of series used.&lt;br /&gt;
Series entered should be in the style of &amp;quot;series_name#&amp;quot;, as in series_name4.&lt;br /&gt;
--]]&lt;br /&gt;
local function getMultipleSeriesNames(args)&lt;br /&gt;
	local seriesArgs = {}&lt;br /&gt;
	table.insert(seriesArgs, args.series_name)&lt;br /&gt;
	for i = 2, 10 do&lt;br /&gt;
		local tvSeries = args[&amp;quot;series_name&amp;quot; .. i]&lt;br /&gt;
		if (tvSeries) then&lt;br /&gt;
			table.insert(seriesArgs, tvSeries)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(debugTemplateUsedList, table.concat(seriesArgs, &amp;quot;, &amp;quot;))&lt;br /&gt;
	seriesArgs[&amp;quot;multi&amp;quot;] = &amp;quot;yes&amp;quot;&lt;br /&gt;
	return seriesArgs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Entry point for episode redirects.&lt;br /&gt;
--]]&lt;br /&gt;
function p.setEpisodeRedirect(args, validArgs)&lt;br /&gt;
	currentFrame = mw.getCurrentFrame()&lt;br /&gt;
	&lt;br /&gt;
	-- For scenarios where the redirect is a crossover episode redirect&lt;br /&gt;
	-- and it should appear in more than one series category.&lt;br /&gt;
	if (args.series_name2) then&lt;br /&gt;
		local seriesArgs = getMultipleSeriesNames(args)&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from television episode&amp;quot;, seriesArgs)&lt;br /&gt;
	else&lt;br /&gt;
		&lt;br /&gt;
		-- For scenarios where a series has a short web-based series (&amp;quot;minisodes&amp;quot;),&lt;br /&gt;
		-- and the redirects should be placed in the parent series category.&lt;br /&gt;
		-- Creating a seriesName variable here. This is needed since changing&lt;br /&gt;
		-- arg.series_name directly affects code in invoking module.&lt;br /&gt;
		local seriesName = args.series_name&lt;br /&gt;
		if (args.parent_series) then&lt;br /&gt;
			seriesName = args.parent_series&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from television episode&amp;quot;, seriesName)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (not (args.list or args.to_article or args.section)) then&lt;br /&gt;
		args.anchor = true&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return main(args, &amp;quot;episode&amp;quot;, validArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Entry point for song redirects.&lt;br /&gt;
--]]&lt;br /&gt;
function p.setSongRedirect(frame)&lt;br /&gt;
	currentFrame = frame&lt;br /&gt;
	local getArgs = require(&amp;quot;Module:Arguments&amp;quot;).getArgs&lt;br /&gt;
	local args = getArgs(currentFrame)&lt;br /&gt;
	addRedirectTemplate(&amp;quot;R from song&amp;quot;, &amp;quot;printworthy&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if (not (args.list or args.to_article or args.section)) then&lt;br /&gt;
		args.anchor = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local redirectCategoryShell, mainRedirect, unknownParametersErrors = main(args, &amp;quot;song&amp;quot;, {})&lt;br /&gt;
	if (unknownParametersErrors) then&lt;br /&gt;
		return redirectCategoryShell .. unknownParametersErrors&lt;br /&gt;
	else&lt;br /&gt;
		return redirectCategoryShell&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[ &lt;br /&gt;
Entry point for fictional object redirects.&lt;br /&gt;
This includes character, element and location redirects.&lt;br /&gt;
--]]&lt;br /&gt;
function p.setFictionalObjectRedirect(args, objectType, validArgs)&lt;br /&gt;
	currentFrame = mw.getCurrentFrame()&lt;br /&gt;
&lt;br /&gt;
	if (args.multi_series_name_table) then&lt;br /&gt;
		-- For scenarios where the redirect is a character that appears in several different series&lt;br /&gt;
		-- and it should appear in more than one series category.&lt;br /&gt;
		-- This parameter is used by franchise modules which handle multiple series fields.&lt;br /&gt;
		if (type(args.multi_series_name_table) == &amp;quot;table&amp;quot;) then&lt;br /&gt;
			table.insert(debugTemplateUsedList, table.concat(args.multi_series_name_table, &amp;quot;, &amp;quot;))&lt;br /&gt;
			addRedirectTemplate(&amp;quot;R from fictional &amp;quot; .. objectType, args.multi_series_name_table)&lt;br /&gt;
		else&lt;br /&gt;
			error(errorList[MULTI_SERIES], 0)&lt;br /&gt;
		end&lt;br /&gt;
	elseif (args.series_name2) then&lt;br /&gt;
		-- For scenarios where the redirect is a character that appears in several different series&lt;br /&gt;
		-- and it should appear in more than one series category.&lt;br /&gt;
		local seriesArgs = getMultipleSeriesNames(args)&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from fictional &amp;quot; .. objectType, seriesArgs)&lt;br /&gt;
	else&lt;br /&gt;
		addRedirectTemplate(&amp;quot;R from fictional &amp;quot; .. objectType, args.series_name)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return main(args, objectType, validArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;MusikBot II</name></author>
	</entry>
</feed>