diff --git a/content/events.js b/content/events.js index 1922b831..b0cb8c39 100644 --- a/content/events.js +++ b/content/events.js @@ -661,8 +661,10 @@ function Events() //{{{ vimperator.input.pendingArgMap = null; vimperator.input.pendingMotionMap = null; - stop = false; // command was not a vimperator command, maybe it is a firefox command + // allow key to be passed to firefox if we can't handle it + stop = false; + // TODO: see if this check is needed or are all motion commands already mapped in these modes? if (!vimperator.hasMode(vimperator.modes.COMMAND_LINE)) vimperator.beep(); } diff --git a/content/tabs.js b/content/tabs.js index 37b75f78..e0e25d7c 100644 --- a/content/tabs.js +++ b/content/tabs.js @@ -157,8 +157,14 @@ function Tabs() //{{{ getBrowser().removeTab(tab); else { - vimperator.open("about:blank", vimperator.NEW_BACKGROUND_TAB); - getBrowser().removeTab(tab); + if (vimperator.buffer.URL != "about:blank" || + getWebNavigation().sessionHistory.count > 0) + { + vimperator.open("about:blank", vimperator.NEW_BACKGROUND_TAB); + getBrowser().removeTab(tab); + } + else + vimperator.beep(); } }