Module:If empty: Difference between revisions

From NvWiki
Jump to navigation Jump to search
m 1 revision imported: Import modules used with Template:Infobox software
Line 1: Line 1:
{{Permanently protected}}
local p = {}


== Edit request ==
function p.main(frame)
{{edit protected|answered=yes}}
local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false})
Please merge {{t|If empty/sandbox}} into here. I believe [[User:Jackmcbarn]] and I have tested it quite thoroughly to ensure backwards compatibility. The only difference now is that this template is no longer limited to nine parameters and that it should run considerably faster. Also, someone may want to protect [[Module:If  empty]].  —[[User:Codehydro|<span style="color:#aaaaaa;font-family:Unicode;font-size:12pt;">'''Code'''</span>]][[User talk:Codehydro|<span style="color:#5577aa;">'''Hydro'''</span>]] 21:52, 23 December 2014 (UTC)
:[[File:Yes check.svg|20px|link=]] '''Done'''<!-- Template:EP --> [[User:Jackmcbarn|Jackmcbarn]] ([[User talk:Jackmcbarn|talk]]) 21:57, 23 December 2014 (UTC)


== Error transclusion issue with the new Lua version ==
for k,v in ipairs(args) do
Since [[Module:If empty]] went live, all uses of {{tl|Infobox mountain}} are transcluding errors. There is just one {{tl|error}} check in this template, to ensure that the parameter '''name''' is given. I verified with {{tl|Infobox mountain/sandbox}} that the old template did not transclude  false errors unless the name truly was not given. [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 18:33, 26 December 2014 (UTC)
if v ~= '' then
:{{ping|Codehydro|Jackmcbarn}} any comments? Can either of you fix this? I'm not following what you mean by "fragile, convoluted, hacky way to do it". Thanks, [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 22:47, 26 December 2014 (UTC)
return v
:* Please describe how you found this error and what exactly is wrong. I do not see any problems on any of the pages that use {{t|Infobox mountain}}  —[[User:Codehydro|<span style="color:#aaaaaa;font-family:Unicode;font-size:12pt;">'''Code'''</span>]][[User talk:Codehydro|<span style="color:#5577aa;">'''Hydro'''</span>]] 23:48, 26 December 2014 (UTC)
end
:**Look at the pages transcluding {{tl|error}}s in [//en.wikipedia.org/w/index.php?title=Special%3AWhatLinksHere&target=Template%3AError&namespace=0 main namespace]. Most are mountain articles such as [[Mount Kilimanjaro]], which transclude {{tl|Infobox mountain}}. There are no actual errors in these articles, and that's why I call these "false transclusions".  {{tl|error}} should only be transcluded in these articles when the name is missing and the error message "Mountain name required" is shown at the top of the infobox. This is how I patrol for these, by looking for {{tl|error}} transclusions. [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 00:04, 27 December 2014 (UTC)
end
:**See [[Template:If empty/testcases]]. [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 02:35, 27 December 2014 (UTC)
:*** Thanks for pointing this out. I've rewritten the error check at {{t|Infobox mountain}}'s sandbox as not to use this module at all. While using {{t|If empty}} to produce a transclusion is clever, it's not at all a common use (based on the relatively tiny number of transclusions of {{t|error}} in template space). The purpose of this module is to check multiple variables... even though this module is much less expensive than the old wikitext template, it is more expensive than a simple #if call, which is what should be used to check a single empty param. While I have an idea how to make the module avoid false transfusions, I do not want to encourage this usage.  —[[User:Codehydro|<span style="color:#aaaaaa;font-family:Unicode;font-size:12pt;">'''Code'''</span>]][[User talk:Codehydro|<span style="color:#5577aa;">'''Hydro'''</span>]] 04:50, 27 December 2014 (UTC)
:****Thanks, {{U|Codehydro}}. Now I see that similar changes are needed for {{tl|Infobox mountain pass}}, {{tl|Infobox cave}} and {{tl|Infobox landform}}. I'm willing to make these fixes myself, but thought I'd offer them to you as an opportunity to build up your template-edit-request track record, if you would like to do that. Thanks again, [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 14:37, 27 December 2014 (UTC)
:**** Thanks. I've applied the change to each of those templates. None are protected so doesn't really help me get template editor at all since I've no shortage of non-protected edits, but the thoughtfulness is appreciated.  —[[User:Codehydro|<span style="color:#aaaaaa;font-family:Unicode;font-size:12pt;">'''Code'''</span>]][[User talk:Codehydro|<span style="color:#5577aa;">'''Hydro'''</span>]] 15:17, 27 December 2014 (UTC)
:****: Great. One more: {{tl|Infobox climbing area}}. [[User:Wbm1058|Wbm1058]] ([[User talk:Wbm1058|talk]]) 15:50, 27 December 2014 (UTC)
:****::{{ping|Wbm1058|Codehydro}} This is actually a bug in Module:Arguments. Once I get it fixed, this won't be a problem anymore. You don't need to "fix" any more templates that use this, as they'll all be fixed again soon. [[User:Jackmcbarn|Jackmcbarn]] ([[User talk:Jackmcbarn|talk]]) 05:00, 28 December 2014 (UTC)


== Backcompat ==
end


The [[:Category:Instances of Template:If_empty missing arguments|tracking category]] is empty except for this template's testcases page (and I suspect it has been for years), so the backcompat code can probably be removed from the module. <span class=nowrap>「[[User:Dinoguy1000|<span style=color:#00f>ディノ</span><span style=color:#080>奴</span>]][[Special:Contributions/Dinoguy1000|<span style=color:#F90>千?!</span>]]」<sup>[[User talk:Dinoguy1000#top|☎ Dinoguy1000]]</sup></span> 02:51, 29 April 2022 (UTC)
return p
: Agreed. [[User:Pppery|* Pppery *]] [[User talk:Pppery|<sub style="color:#800000">it has begun...</sub>]] 15:29, 2 May 2022 (UTC)
::{{ping|Pppery}} I've [https://en.wikipedia.org/w/index.php?title=Module:If_empty/sandbox&diff=1086275342&oldid=639902204 removed] the backwards compatibility code from the module's sandbox (which also has a never-deployed [https://en.wikipedia.org/w/index.php?title=Module:If_empty/sandbox&diff=639902204&oldid=639901738 bugfix]); the [[Template:If empty/testcases|testcases page]] looks fine (other than the undefined parameters case, which is to be expected). If everything looks good to you, it can be deployed and the tracking category tagged for deletion. <span class=nowrap>「[[User:Dinoguy1000|<span style=color:#00f>ディノ</span><span style=color:#080>奴</span>]][[Special:Contributions/Dinoguy1000|<span style=color:#F90>千?!</span>]]」<sup>[[User talk:Dinoguy1000#top|☎ Dinoguy1000]]</sup></span> 06:49, 5 May 2022 (UTC)
::: Looks good to me. [[User:Pppery|* Pppery *]] [[User talk:Pppery|<sub style="color:#800000">it has begun...</sub>]] 13:38, 5 May 2022 (UTC)
::::Updated and tracking category deleted. <span class=nowrap>「[[User:Dinoguy1000|<span style=color:#00f>ディノ</span><span style=color:#080>奴</span>]][[Special:Contributions/Dinoguy1000|<span style=color:#F90>千?!</span>]]」<sup>[[User talk:Dinoguy1000#top|☎ Dinoguy1000]]</sup></span> 04:44, 6 May 2022 (UTC)
 
== lastk? ==
 
{{edit fully-protected|answered=yes}}
As far as I can tell, in [[Module:If empty]], the variable lastk (defined at line 6 and set at line 11) is never used. Can we remove it, or is there something tricky going on? — [[User:Hike395|hike395]] ([[User talk:Hike395|talk]]) 10:42, 11 January 2023 (UTC)
 
:Removed in the [[Module:If empty/sandbox|sandbox]] version, tests look fine. — [[User:Hike395|hike395]] ([[User talk:Hike395|talk]]) 10:45, 11 January 2023 (UTC)
 
::Please copy [[Module:If empty/sandbox]] to [[Module:If empty]], see above. — [[User:Hike395|hike395]] ([[User talk:Hike395|talk]]) 06:35, 22 January 2023 (UTC)
:{{done}}<!-- Template:EP --> &mdash;&nbsp;Martin <small>([[User:MSGJ|MSGJ]]&nbsp;·&nbsp;[[User talk:MSGJ|talk]])</small> 18:33, 26 January 2023 (UTC)
== "[[:Template:??]]" listed at [[Wikipedia:Redirects for discussion|Redirects for discussion]] ==
[[File:Information.svg|30px]]
The redirect <span class="plainlinks">[//en.wikipedia.org/w/index.php?title=Template:%3F%3F&redirect=no Template:??]</span> has been listed at [[Wikipedia:Redirects for discussion|redirects for discussion]] to determine whether its use and function meets the [[Wikipedia:Redirect|redirect guidelines]]. Readers of this page are welcome to comment on this redirect at '''{{section link|1=Wikipedia:Redirects for discussion/Log/2025 December 10#Template:??}}''' until a consensus is reached. <!-- Template:RFDNote --> [[User:Gonnym|Gonnym]] ([[User talk:Gonnym|talk]]) 13:43, 10 December 2025 (UTC)

Revision as of 16:56, 26 December 2025

Template:Module rating Template:Cascade-protected template

Template:Used in system This module supports Template:If empty. See here for test cases.



local p = {}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false})

	for k,v in ipairs(args) do
		if v ~= '' then
			return v
		end
	end

end

return p