From 909d89c5a6f7936588cc65071baf27f87c9c14e0 Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Thu, 7 Apr 2011 13:29:54 -0400 Subject: [PATCH] Fix 'passkeys' on Minefield. --- common/content/events.js | 2 +- common/content/tabs.js | 5 ++++- common/modules/base.jsm | 6 +++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/common/content/events.js b/common/content/events.js index 18f752a6..1f13aefa 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -1665,7 +1665,7 @@ var Events = Module("events", { filter.keys = events.fromString(vals[0]).map(events.closure.toString); filter.commandKeys = vals.slice(1).map(events.closure.canonicalKeys); - filter.inputKeys = filter.commandKeys.filter(/^<[ACM]-/); + filter.inputKeys = filter.commandKeys.filter(bind("test", /^<[ACM]-/)); }); this.flush(); return values; diff --git a/common/content/tabs.js b/common/content/tabs.js index 5c82b2bb..cfc21aa9 100644 --- a/common/content/tabs.js +++ b/common/content/tabs.js @@ -266,7 +266,10 @@ var Tabs = Module("tabs", { let tabs = this.visibleTabs; let position = this.index(null, true); - if (spec == null || spec === "") + if (spec == null) + return -1; + + if (spec === "") return position; if (typeof spec === "number") diff --git a/common/modules/base.jsm b/common/modules/base.jsm index 55782966..724dfb3c 100644 --- a/common/modules/base.jsm +++ b/common/modules/base.jsm @@ -473,9 +473,13 @@ function curry(fn, length, self, acc) { } if (curry.bind) - var bind = function bind(func) func.bind.apply(func, Array.slice(arguments, bind.length)); + var bind = function bind(meth, self) let (func = callable(meth) ? meth : self[meth]) + func.bind.apply(func, Array.slice(arguments, 1)); else var bind = function bind(func, self) { + if (!callable(func)) + func = self[func]; + let args = Array.slice(arguments, bind.length); return function bound() func.apply(self, args.concat(Array.slice(arguments))); };