Module:Other uses of explained

local mArguments --initialize lazilylocal mHatList = require('Module:Hatnote list')local mHatnote = require('Module:Hatnote')local mOtheruses = require('Module:Other uses')local yesNo = require('Module:Yesno')local p =

function p.otherusesof (frame) mArguments = require('Module:Arguments') return p._otherusesof(mArguments.getArgs(frame))end

function p._otherusesof (args) local currentTitle = mw.title.getCurrentTitle local prefixedText = currentTitle.prefixedText local maxArg = 0 for k, v in pairs(args) do if type(k)

'number' and k > maxArg then maxArg = k end end local page = args[maxArg] if maxArg

1 then page = mHatnote.disambiguate(page) end local ofWhat = nil if maxArg > 2 then local pages = local midPages = for k, v in pairs(args) do if type(k)

'number' and k < maxArg then midPages[k] = mHatnote.quote(v) end end for i = 1, maxArg do if midPages[i] then pages[#pages + 1] = midPages[i] end end ofWhat = mHatList.orList(pages) end if not ofWhat then ofWhat = mHatnote.quote(args[1] or prefixedText) end local options = local skipCat = (currentTitle.isTalkPage or (currentTitle.namespace

2)) or (yesNo(args.category)

false) local oddCat = skipCat and or "" if (mw.ustring.lower(args[1] or "")

mw.ustring.lower(prefixedText)) and maxArg <= 2 or ((not args[1]) and (not args[2])) then options.otherText = options.otherText .. oddCat end arg = page and or return mOtheruses._otheruses(arg, options)end

return p