plugins.xkcd: Do exact match comparison with original, but lowercased, parameter

Wed, 09 Mar 2011 18:18:41 +0100

author
Kim Alvefur <zash@zash.se>
date
Wed, 09 Mar 2011 18:18:41 +0100
changeset 66
bdaf81ab55ad
parent 65
25f4445447b2
child 67
12e2c702eddc

plugins.xkcd: Do exact match comparison with original, but lowercased, parameter

plugins/xkcd.lua file | annotate | diff | comparison | revisions
--- a/plugins/xkcd.lua	Wed Mar 09 18:04:36 2011 +0100
+++ b/plugins/xkcd.lua	Wed Mar 09 18:18:41 2011 +0100
@@ -36,8 +36,8 @@
 		local xkcdnum = command.param;
 		if not xkcdnum then return "Please supply an XKCD number or a search string :)"; end
 			if not tonumber(xkcdnum) then -- Search for an xkcd
-				xkcdnum = xkcdnum:gsub("[()]", function(s) return "%" .. s end)
-					:lower()
+				xkcdnum = xkcdnum:lower()
+				local xkcdpat = xkcdnum:gsub("[()]", function(s) return "%" .. s end)
 					:gsub("[%[]",function(s) return "%" .. s end)
 					:gsub("%%(%b[])",function(s) return (#s > 2 and "" or "%") .. s end);
 				local results = {};
@@ -45,7 +45,7 @@
 					name = xkcd:lower()
 					if name == xkcdnum then -- exact match
 						return xkcd..", http://xkcd.org/"..x.."/";
-					elseif name:match(xkcdnum) then
+					elseif name:match(xkcdpat) then
 						table.insert(results, x);
 						--return commands.xkcd(msg, x);
 					end

mercurial