diff --git a/common/content/commandline.js b/common/content/commandline.js index eb79c3ef..762edde8 100644 --- a/common/content/commandline.js +++ b/common/content/commandline.js @@ -551,6 +551,7 @@ const CommandLine = Module("commandline", { this.widgets.message = null; modes.push(modes.COMMAND_LINE, this.currentExtendedMode, { + onEvent: this.closure.onEvent, leave: function (params) { if (params.pop) commandline.leave(); @@ -829,6 +830,7 @@ const CommandLine = Module("commandline", { modes.push(modes.COMMAND_LINE, modes.PROMPT | extra.extended, update(Object.create(extra), { + onEvent: extra.onEvent || this.closure.onEvent, leave: function leave(stack) { commandline.leave(stack); leave.supercall(this, stack); diff --git a/common/content/events.js b/common/content/events.js index ecd6c707..f1f7dfb0 100644 --- a/common/content/events.js +++ b/common/content/events.js @@ -1026,11 +1026,11 @@ const Events = Module("events", { } let res = this.onKeyPress(event); - if (res === true) + if (res === true || res == null) kill(event); else if (isArray(res)) { if (this.fallthrough) { - if (this.fallthrough(res[0]) === true) + if (dactyl.trapErrors(this.fallthrough, this, res[0]) === true) kill(res[0]); } else if (Events.isEscape(event)) @@ -1040,10 +1040,6 @@ const Events = Module("events", { dactyl.beep(); kill(event); } - - if (this.main == modes.COMMAND_LINE) - if (!(this.extended & modes.INPUT_MULTILINE)) - dactyl.trapErrors(commandline.onEvent, commandline, event); } // Reprocess unconsumed events