<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://deeptech.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AOld_moves</id>
	<title>Module:Old moves - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://deeptech.wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AOld_moves"/>
	<link rel="alternate" type="text/html" href="https://deeptech.wiki/index.php?title=Module:Old_moves&amp;action=history"/>
	<updated>2026-05-09T04:15:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://deeptech.wiki/index.php?title=Module:Old_moves&amp;diff=5721&amp;oldid=prev</id>
		<title>C: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://deeptech.wiki/index.php?title=Module:Old_moves&amp;diff=5721&amp;oldid=prev"/>
		<updated>2025-11-15T03:34:15Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:34, 15 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key deeptechwiki:diff:1.41:old-5720:rev-5721 --&gt;
&lt;/table&gt;</summary>
		<author><name>C</name></author>
	</entry>
	<entry>
		<id>https://deeptech.wiki/index.php?title=Module:Old_moves&amp;diff=5720&amp;oldid=prev</id>
		<title>w&gt;Pppery: Changed protection settings for &quot;Module:Old moves&quot;: High-risk template or module ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://deeptech.wiki/index.php?title=Module:Old_moves&amp;diff=5720&amp;oldid=prev"/>
		<updated>2025-08-11T23:05:39Z</updated>

		<summary type="html">&lt;p&gt;Changed protection settings for &amp;quot;&lt;a href=&quot;/wiki/Module:Old_moves&quot; title=&quot;Module:Old moves&quot;&gt;Module:Old moves&lt;/a&gt;&amp;quot;: &lt;a href=&quot;/index.php?title=WP:High-risk_templates&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:High-risk templates (page does not exist)&quot;&gt;High-risk template or module&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;-- This module implements {{Old move}}.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local messageBox = require(&amp;#039;Module:Message box&amp;#039;)&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local dateModule = require(&amp;#039;Module:Date&amp;#039;)._Date&lt;br /&gt;
local listModule = require(&amp;#039;Module:List&amp;#039;).horizontal&lt;br /&gt;
&lt;br /&gt;
-- Create variable used in other functions&lt;br /&gt;
local pageType&lt;br /&gt;
if (mw.title.getCurrentTitle():inNamespace(1)) then&lt;br /&gt;
	pageType = &amp;quot;article&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
	pageType = &amp;quot;page&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Build the HTML for collapsing lists&lt;br /&gt;
local function makeCollapsible(list, text)&lt;br /&gt;
	local box = mw.html.create(&amp;quot;div&amp;quot;)&lt;br /&gt;
	box&lt;br /&gt;
		:addClass(&amp;quot;mw-collapsible mw-collapsed&amp;quot;)&lt;br /&gt;
		:css(&amp;#039;padding&amp;#039;, &amp;#039;0.5em 0 0&amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;div&amp;#039;):css(&amp;#039;font-weight&amp;#039;, &amp;#039;bold&amp;#039;):wikitext(text):done()&lt;br /&gt;
		:tag(&amp;quot;div&amp;quot;):addClass(&amp;#039;mw-collapsible-content&amp;#039;):wikitext(mw.ustring.format(&amp;quot;\n%s&amp;quot;, list))&lt;br /&gt;
	return box&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function singleText(args)&lt;br /&gt;
	local date = args[&amp;quot;date&amp;quot;] or args[&amp;quot;date1&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local from = args[&amp;quot;from&amp;quot;] or args[&amp;quot;from1&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local to = args[&amp;quot;destination&amp;quot;] or args[&amp;quot;destination1&amp;quot;] or args[&amp;quot;to1&amp;quot;] or args[&amp;quot;to&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local result = args[&amp;quot;result&amp;quot;] or args[&amp;quot;result1&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local link = args[&amp;quot;link&amp;quot;] or args[&amp;quot;link1&amp;quot;] or &amp;quot;&amp;quot;&lt;br /&gt;
	local dateformat = args[&amp;quot;dateformat&amp;quot;] or &amp;quot;dmy&amp;quot;&lt;br /&gt;
	local text = &amp;quot;&amp;quot;&lt;br /&gt;
	if (date ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		if dateModule(date) then&lt;br /&gt;
			date = dateModule(date):text(dateformat)&lt;br /&gt;
		end&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;On %s, it was proposed that this %s be [[Wikipedia:Requested moves|moved]]&amp;quot;, date, pageType)&lt;br /&gt;
	else&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;It has previously been proposed that this %s be [[Wikipedia:Requested moves|moved]]&amp;quot;, pageType)&lt;br /&gt;
	end&lt;br /&gt;
	if (from ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s from [%s %s]&amp;quot;, text, tostring(mw.uri.fullUrl(from, {redirect = &amp;quot;no&amp;quot;} )), from)&lt;br /&gt;
	end&lt;br /&gt;
	if (to ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s to [[%s]]&amp;quot;, text, to)&lt;br /&gt;
	end&lt;br /&gt;
	text = mw.ustring.format(&amp;quot;%s.&amp;quot;, text)&lt;br /&gt;
	if (result ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		if (link ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			text = mw.ustring.format(&amp;quot;%s The result of [[%s|the discussion]] was &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039;.&amp;quot;, text, link, result)&lt;br /&gt;
		else&lt;br /&gt;
			text = mw.ustring.format(&amp;quot;%s The result of the discussion was &amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039;.&amp;quot;, text, result)&lt;br /&gt;
		end&lt;br /&gt;
	elseif (link ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s See [[%s|discussion]].&amp;quot;, text, link)&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function row(args, i)&lt;br /&gt;
	local date = args[&amp;quot;date&amp;quot; .. i] or &amp;quot;&amp;quot;&lt;br /&gt;
	local from = args[&amp;quot;from&amp;quot; .. i] or &amp;quot;&amp;quot;&lt;br /&gt;
	local dateformat = args[&amp;quot;dateformat&amp;quot;] or &amp;quot;dmy&amp;quot;&lt;br /&gt;
	local to = args[&amp;quot;destination&amp;quot; .. i] or args[&amp;quot;to&amp;quot; .. i] or &amp;quot;&amp;quot;&lt;br /&gt;
	local result = mw.language.getContentLanguage():ucfirst(args[&amp;quot;result&amp;quot; .. i]) or &amp;quot;&amp;quot;&lt;br /&gt;
	local link = args[&amp;quot;link&amp;quot; .. i] or &amp;quot;&amp;quot;&lt;br /&gt;
	local rowText = mw.ustring.format(&amp;quot;\n*&amp;#039;&amp;#039;&amp;#039;%s&amp;#039;&amp;#039;&amp;#039;&amp;quot;, result)&lt;br /&gt;
	if (date ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		if dateModule(date) then&lt;br /&gt;
			date = dateModule(date):text(dateformat)&lt;br /&gt;
		end&lt;br /&gt;
		rowText = mw.ustring.format(&amp;quot;%s, %s&amp;quot;, rowText, date)&lt;br /&gt;
	end&lt;br /&gt;
	if (from ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		rowText = mw.ustring.format(&amp;quot;%s, from [%s %s]&amp;quot;, rowText, tostring(mw.uri.fullUrl(from, {redirect = &amp;quot;no&amp;quot;} )), from)&lt;br /&gt;
		if (to ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
			rowText = mw.ustring.format(&amp;quot;%s to [[%s]]&amp;quot;, rowText, to)&lt;br /&gt;
		end&lt;br /&gt;
	elseif (to ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		rowText = mw.ustring.format(&amp;quot;%s, to [[%s]]&amp;quot;, rowText, to)&lt;br /&gt;
	end&lt;br /&gt;
	if (link ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		rowText = mw.ustring.format(&amp;quot;%s, see [[%s|discussion]]&amp;quot;, rowText, link)&lt;br /&gt;
	end&lt;br /&gt;
	rowText = rowText .. &amp;quot;.&amp;quot;&lt;br /&gt;
	return rowText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function list(args)&lt;br /&gt;
	local text = &amp;quot;&amp;quot;&lt;br /&gt;
	if (args[&amp;quot;result1&amp;quot;]) then -- Support to1 and to in case of multiple rows&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, row(args, 1))&lt;br /&gt;
	else&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, row(args, &amp;quot;&amp;quot;))&lt;br /&gt;
	end&lt;br /&gt;
	local i = 2&lt;br /&gt;
	while (args[&amp;quot;result&amp;quot; .. i]) do&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, row(args, i))&lt;br /&gt;
		i = i + 1 -- Check if to(i+1) exist&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
local function manualList(args)&lt;br /&gt;
	local manualListText = &amp;quot;&amp;quot;&lt;br /&gt;
	if (args[&amp;quot;list&amp;quot;] or args[1]) then&lt;br /&gt;
		if (args[&amp;quot;result&amp;quot;] or args[&amp;quot;result1&amp;quot;]) then&lt;br /&gt;
			manualListText = mw.ustring.format(&amp;quot;%s\n&amp;#039;&amp;#039;&amp;#039;Other discussions: &amp;#039;&amp;#039;&amp;#039;\n%s&amp;quot;, manualListText, args[&amp;quot;list&amp;quot;] or args[1])&lt;br /&gt;
		else&lt;br /&gt;
			manualListText = mw.ustring.format(&amp;quot;%s\n%s&amp;quot;, manualListText, args[&amp;quot;list&amp;quot;] or args[1])&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (args[&amp;quot;oldlist&amp;quot;]) then&lt;br /&gt;
		if (yesno(args[&amp;quot;collapse&amp;quot;]) or yesno(args[&amp;quot;collapsed&amp;quot;])) then&lt;br /&gt;
			manualListText = mw.ustring.format(&amp;quot;%s\n&amp;#039;&amp;#039;&amp;#039;Older discussions: &amp;#039;&amp;#039;&amp;#039;\n%s&amp;quot;, manualListText, tostring(args[&amp;quot;oldlist&amp;quot;]))&lt;br /&gt;
		else&lt;br /&gt;
			manualListText = mw.ustring.format(&amp;quot;%s\n%s&amp;quot;, manualListText, tostring(makeCollapsible(args[&amp;quot;oldlist&amp;quot;], &amp;quot;Older discussions:&amp;quot;)))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return manualListText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function showLogs(args)&lt;br /&gt;
	local logList, i = {}, 1&lt;br /&gt;
	while (args[&amp;quot;title&amp;quot; .. i]) do&lt;br /&gt;
		local query = mw.uri.buildQueryString({&lt;br /&gt;
			[&amp;quot;page&amp;quot;] = args[&amp;quot;title&amp;quot; .. i],&lt;br /&gt;
			[&amp;quot;type&amp;quot;] = &amp;quot;move&amp;quot;&lt;br /&gt;
		})&lt;br /&gt;
		if (i == 1) then -- Hacky way to make the hlist go after &amp;quot;move logs&amp;quot;&lt;br /&gt;
			table.insert(logList, mw.ustring.format(&amp;quot;\n&amp;#039;&amp;#039;&amp;#039;Move logs: &amp;#039;&amp;#039;&amp;#039;[%s %s]&amp;quot;, tostring(mw.uri.canonicalUrl(&amp;quot;Special:Log&amp;quot;, query)), args[&amp;quot;title&amp;quot; .. i]))&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(logList, mw.ustring.format(&amp;quot;[%s %s]&amp;quot;, tostring(mw.uri.canonicalUrl(&amp;quot;Special:Log&amp;quot;, query)), args[&amp;quot;title&amp;quot; .. i]))&lt;br /&gt;
		end&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	logList[&amp;quot;style&amp;quot;] = &amp;quot;padding-top: 0.5em;&amp;quot;&lt;br /&gt;
	return listModule(logList)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function evaluate(args)&lt;br /&gt;
	local text = &amp;quot;&amp;quot;&lt;br /&gt;
	local is_collapsed = yesno(args[&amp;quot;collapse&amp;quot;]) or yesno(args[&amp;quot;collapsed&amp;quot;])&lt;br /&gt;
	local has_log_args = args[&amp;quot;title&amp;quot;] or args[&amp;quot;title1&amp;quot;]&lt;br /&gt;
	local has_manual_list = args[&amp;quot;list&amp;quot;] or args[1] or args[&amp;quot;oldlist&amp;quot;]&lt;br /&gt;
	local has_multiple_rows = args[&amp;quot;result1&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	if (has_log_args) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, showLogs(args))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (not is_collapsed or has_log_args) then&lt;br /&gt;
		-- if the template is collapsed and there are no log arguments,&lt;br /&gt;
		-- then we already have &amp;quot;Discussions:&amp;quot; in bold text in bannerText(),&lt;br /&gt;
		-- so we don&amp;#039;t need to repeat it here&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s\n&amp;#039;&amp;#039;&amp;#039;Discussions: &amp;#039;&amp;#039;&amp;#039;\n&amp;quot;, text)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- This makes sure we don&amp;#039;t show the single version when there&amp;#039;s a log or manual list&lt;br /&gt;
	if (args[&amp;quot;result&amp;quot;]) then&lt;br /&gt;
		if (has_log_args or has_manual_list or args[&amp;quot;result2&amp;quot;]) then&lt;br /&gt;
			text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, list(args))&lt;br /&gt;
		else&lt;br /&gt;
			text = singleText(args)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (has_multiple_rows) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, list(args))&lt;br /&gt;
	end&lt;br /&gt;
	if (has_manual_list) then&lt;br /&gt;
		text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, manualList(args))&lt;br /&gt;
		if (args[1]) then&lt;br /&gt;
			text = mw.ustring.format(&amp;quot;%s%s&amp;quot;, text, &amp;quot;[[Category:Talk pages listing old moves with the first unnamed parameter]]&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (not args[&amp;quot;result&amp;quot;] and not has_multiple_rows and not has_manual_list and not has_log_args) then&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function bannerText(args)&lt;br /&gt;
	local blurb = mw.ustring.format(&amp;quot;This %s has previously been nominated to be moved.&amp;quot; ..&lt;br /&gt;
		&amp;quot; Please review the prior discussions if you are considering re-nomination.&amp;quot;, pageType)&lt;br /&gt;
	local list = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if (yesno(args[&amp;quot;collapse&amp;quot;]) or yesno(args[&amp;quot;collapsed&amp;quot;])) then&lt;br /&gt;
		if (args[&amp;quot;title&amp;quot;] or args[&amp;quot;title1&amp;quot;]) then&lt;br /&gt;
			list = mw.ustring.format(&amp;quot;%s%s&amp;quot;, blurb, tostring(makeCollapsible(evaluate(args), &amp;quot;Logs and discussions:&amp;quot;)))&lt;br /&gt;
		else&lt;br /&gt;
			list = mw.ustring.format(&amp;quot;%s%s&amp;quot;, blurb, tostring(makeCollapsible(evaluate(args), &amp;quot;Discussions:&amp;quot;)))&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		list = evaluate(args)&lt;br /&gt;
&lt;br /&gt;
		if (mw.ustring.find(list, &amp;quot;proposed that this&amp;quot;) == nil) then&lt;br /&gt;
			list = mw.ustring.format(&amp;quot;%s%s&amp;quot;, blurb, evaluate(args))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return list&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBanner(args)&lt;br /&gt;
	return messageBox.main(&amp;#039;tmbox&amp;#039;, {&lt;br /&gt;
		small = yesno(args[&amp;quot;small&amp;quot;]),&lt;br /&gt;
		type = &amp;#039;move&amp;#039;,&lt;br /&gt;
		text = bannerText(args)&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame)&lt;br /&gt;
	return renderBanner(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>w&gt;Pppery</name></author>
	</entry>
</feed>