From 4246d6f327a002d210c2f4567e125a9f07fbfe08 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Thu, 13 Jan 2011 13:08:59 -0500 Subject: [PATCH] Fix util.regexp#exec for null matches. --- common/modules/util.jsm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/modules/util.jsm b/common/modules/util.jsm index 9a14d6e5..009360fc 100644 --- a/common/modules/util.jsm +++ b/common/modules/util.jsm @@ -1234,6 +1234,7 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]), return m1 + "(" + (m3 || ""); }); var struct = Struct.apply(null, groups); + var source = expr; } let res = update(RegExp(expr, flags), { @@ -1241,7 +1242,10 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]), dactylPropertyNames: ["exec", "match", "test", "toSource", "toString", "global", "ignoreCase", "lastIndex", "multiLine", "source", "sticky"] }); if (struct) - update(res, { exec: function exec() struct.fromArray(exec.superapply(this, arguments)) }); + update(res, { + exec: function exec() let (match = exec.superapply(this, arguments)) match && struct.fromArray(match), + source: source, struct: struct + }); return res; }, { /**