This module is subject to page protection. It is a highly visible module in use by a very large number of pages, and/or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing.
Module:Separated entries serves as a template front-end to mw.text.listToText. It takes any number of positional parameters and pieces them together with |separator=. |conjunction= can be optionally defined if a different separator is desired between the last and second last items. The starting positional parameter can be specified using |start=. Leading and trailing whitespace is stripped. To add deliberate leading and trailing whitespace, use the HTML escape code   for a space and for a "newline". Separated entries does not raise any errors by design.
-- This module takes positional parameters as input and concatenates them with-- an optional separator. The final separator (the "conjunction") can be-- specified independently, enabling natural-language lists like-- "foo, bar, baz and qux". The starting parameter can also be specified.localcompressSparseArray=require('Module:TableTools').compressSparseArraylocalp={}functionp._main(args)localseparator=args.separator-- Decode (convert to Unicode) HTML escape sequences, such as " " for space.andmw.text.decode(args.separator)or''localconjunction=args.conjunctionandmw.text.decode(args.conjunction)orseparator-- Discard values before the starting parameter.localstart=tonumber(args.start)ifstartthenfori=1,start-1doargs[i]=nilendend-- Discard named parameters.localvalues=compressSparseArray(args)returnmw.text.listToText(values,separator,conjunction)endlocalfunctionmakeInvokeFunction(separator,conjunction,first)returnfunction(frame)localargs=require('Module:Arguments').getArgs(frame)args.separator=separatororargs.separatorargs.conjunction=conjunctionorargs.conjunctionargs.first=firstorargs.firstreturnp._main(args)endendp.main=makeInvokeFunction()p.br=makeInvokeFunction('<br />')p.comma=makeInvokeFunction(mw.message.new('comma-separator'):plain())returnp