<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sv">
	<id>https://xn--jrnvgshistoria-5hbd.se/index.php?action=history&amp;feed=atom&amp;title=Modul%3AEscape</id>
	<title>Modul:Escape - Versionshistorik</title>
	<link rel="self" type="application/atom+xml" href="https://xn--jrnvgshistoria-5hbd.se/index.php?action=history&amp;feed=atom&amp;title=Modul%3AEscape"/>
	<link rel="alternate" type="text/html" href="https://xn--jrnvgshistoria-5hbd.se/index.php?title=Modul:Escape&amp;action=history"/>
	<updated>2026-05-14T07:09:34Z</updated>
	<subtitle>Versionshistorik för denna sida på wikin</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://xn--jrnvgshistoria-5hbd.se/index.php?title=Modul:Escape&amp;diff=60526&amp;oldid=prev</id>
		<title>Jan Karlsson: 1 version importerades</title>
		<link rel="alternate" type="text/html" href="https://xn--jrnvgshistoria-5hbd.se/index.php?title=Modul:Escape&amp;diff=60526&amp;oldid=prev"/>
		<updated>2021-01-05T08:11:17Z</updated>

		<summary type="html">&lt;p&gt;1 version importerades&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;sv&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Äldre version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Versionen från 5 januari 2021 kl. 08.11&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key hviqzheq_jarnvagshistoria22:diff::1.12:old-60525:rev-60526 --&gt;
&lt;/table&gt;</summary>
		<author><name>Jan Karlsson</name></author>
	</entry>
	<entry>
		<id>https://xn--jrnvgshistoria-5hbd.se/index.php?title=Modul:Escape&amp;diff=60525&amp;oldid=prev</id>
		<title>jarnvagsdata&gt;MusikAnimal: Protected &quot;Module:Escape&quot;: High-risk Lua module; 1,000+ transclusions ([Edit=Require autoconfirmed or confirmed access] (indefinite))</title>
		<link rel="alternate" type="text/html" href="https://xn--jrnvgshistoria-5hbd.se/index.php?title=Modul:Escape&amp;diff=60525&amp;oldid=prev"/>
		<updated>2017-10-10T17:47:28Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/index.php/Modul:Escape&quot; title=&quot;Modul:Escape&quot;&gt;Module:Escape&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 (sidan existerar inte)&quot;&gt;High-risk Lua module&lt;/a&gt;; 1,000+ transclusions ([Edit=Require autoconfirmed or confirmed access] (indefinite))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny sida&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local escape = {&lt;br /&gt;
	char = function(self, chr, args)&lt;br /&gt;
		args = args or {}&lt;br /&gt;
		local safe = args.safeChr or string.char(13)&lt;br /&gt;
		chr = tostring(chr or '\\')&lt;br /&gt;
		self[1] = ('%s0%%s%s'):format(&lt;br /&gt;
			('%x%s%s'):format(chr:byte(), safe, safe),&lt;br /&gt;
			('%s%x'):format(safe, chr:byte())&lt;br /&gt;
		)&lt;br /&gt;
		if not self[self[1]] then&lt;br /&gt;
			self[self[1]] = {&lt;br /&gt;
				char = chr,&lt;br /&gt;
				text = ('%s(.)'):format(chr),&lt;br /&gt;
				undo = self[1]:format'(%d+)'&lt;br /&gt;
			}&lt;br /&gt;
		end&lt;br /&gt;
		return args.text and self:text(args.text)&lt;br /&gt;
			or args.undo and self:undo(args.undo, chr)&lt;br /&gt;
			or args.kill and self:kill(args.kill)&lt;br /&gt;
			or self&lt;br /&gt;
	end,&lt;br /&gt;
	exec = function(self, text, mode, newEscape)&lt;br /&gt;
		local target = self[self[1] or self:char() and self[1]]&lt;br /&gt;
		for v in text:gfind(target[mode]) do&lt;br /&gt;
			text = text:gsub(&lt;br /&gt;
				mode == 'text' and&lt;br /&gt;
					('%s%s'):format(target.char, v:gsub('%W', '%%%1'))&lt;br /&gt;
					or self[1]:format(v),&lt;br /&gt;
				mode == 'text' and&lt;br /&gt;
					self[1]:format(v:byte())&lt;br /&gt;
					or (newEscape or '') .. v:char()&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		return text&lt;br /&gt;
	end,&lt;br /&gt;
	text = function(self, text)&lt;br /&gt;
		return self:exec(type(text) == 'table' and text[1] or text, 'text')&lt;br /&gt;
	end,&lt;br /&gt;
	undo = function(self, text, newEscape)&lt;br /&gt;
		if type(text) == 'table' then&lt;br /&gt;
			text, newEscape = unpack(text)&lt;br /&gt;
		end&lt;br /&gt;
		return self:exec(text, 'undo', newEscape)&lt;br /&gt;
	end,&lt;br /&gt;
	kill = function(self, text, chars, newEscape)&lt;br /&gt;
		if type(text) == 'table' then&lt;br /&gt;
			text, chars, newEscape = unpack(text)&lt;br /&gt;
		end&lt;br /&gt;
		return self:undo(self:text(text):gsub(chars or '', ''), newEscape)&lt;br /&gt;
	end&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function escape.main(frame)&lt;br /&gt;
	local args, family = {}, {frame:getParent(), frame}&lt;br /&gt;
	for f = 1, 2 do&lt;br /&gt;
		for k, v in pairs(family[f] and family[f].args or {}) do&lt;br /&gt;
			args[k] = args[k] or v:match('^%s*(.-)%s*$')&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if args.mode == 'char' then&lt;br /&gt;
		return escape:char(args.char or args[2], args)&lt;br /&gt;
	end&lt;br /&gt;
	return escape[args.mode](escape:char(args.char), args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return escape&lt;/div&gt;</summary>
		<author><name>jarnvagsdata&gt;MusikAnimal</name></author>
	</entry>
</feed>