From bc0d10341dec3feb404d9990ac9bd031f3de6301 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Wed, 26 Jan 2011 07:09:56 -0500 Subject: [PATCH] Fix feeding pseudo-keys like . --HG-- branch : key-processing --- common/content/events.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/common/content/events.js b/common/content/events.js index 191f6af8..9ae863e6 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -654,11 +654,17 @@ var Events = Module("events", { * where @ is a non-case-changeable, non-space character. * * @param {string} keys The string to parse. + * @param {boolean} unknownOk Whether unknown keys are passed + * through rather than being converted to keyname>. + * @default false * @returns {Array[Object]} */ fromString: function (input, unknownOk) { - let out = []; + if (arguments.length === 1) + unknownOk = true; + + let out = []; let re = RegExp("<.*?>?>|[^<]|<(?!.*>)", "g"); let match; while ((match = re.exec(input))) { @@ -1027,12 +1033,11 @@ var Events = Module("events", { let duringFeed = this.duringFeed || []; this.duringFeed = []; try { - if (this.feedingEvent && [!(k in event) || event[k] === v for ([k, v] in Iterator(this.feedingEvent))].every(util.identity)) { + if (this.feedingEvent) for (let [k, v] in Iterator(this.feedingEvent)) if (!(k in event)) event[k] = v; - this.feedingEvent = null; - } + this.feedingEvent = null; let key = events.toString(event); if (!key)