diff --git a/common/content/dactyl.js b/common/content/dactyl.js
index 461e5a8d..b89b4d9c 100644
--- a/common/content/dactyl.js
+++ b/common/content/dactyl.js
@@ -728,8 +728,8 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
}
list = null;
- if (level == 0 && /^.*:\n$/.test())
- var elem =
{template.linkifyHelp(par.slice(0, -1), true)}
;
+ if (level == 0 && /^.*:\n$/.test(match.par))
+ res += {template.linkifyHelp(par.slice(0, -1), true)}
;
else {
let [, a, b] = /^(IMPORTANT:?)?([^]*)/.exec(par);
res += {
@@ -759,7 +759,7 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
unescape(encodeURI( // UTF-8 handling hack.
- {config.appName} Versions
+ {config.appName} Versions
{rec(NEWS, 0)}
diff --git a/common/content/tabs.js b/common/content/tabs.js
index 1b9a2869..c69aead5 100644
--- a/common/content/tabs.js
+++ b/common/content/tabs.js
@@ -40,9 +40,11 @@ var Tabs = Module("tabs", {
]]>>, /tab-./g, function (m) util.OS.isMacOSX ? "tab-mac" : m),
false, true);
- for (let { linkedBrowser: { contentDocument } } in values(this.allTabs))
- if (contentDocument.readyState === "complete")
- dactyl.initDocument(contentDocument);
+ this.timeout(function () {
+ for (let { linkedBrowser: { contentDocument } } in values(this.allTabs))
+ if (contentDocument.readyState === "complete")
+ dactyl.initDocument(contentDocument);
+ });
},
cleanup: function cleanup() {
diff --git a/common/modules/util.jsm b/common/modules/util.jsm
index de87279a..8022e7e8 100644
--- a/common/modules/util.jsm
+++ b/common/modules/util.jsm
@@ -125,7 +125,10 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
obj.observers[target].call(obj, subject, data);
}
catch (e) {
- util.reportError(e);
+ if (typeof util === "undefined")
+ dump("dactyl: error: " + e + "\n" + (e.stack || Error().stack).replace(/^/gm, "dactyl: "));
+ else
+ util.reportError(e);
}
});
@@ -1039,7 +1042,8 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
JSMLoader.cleanup();
- services.observer.addObserver(this, "dactyl-rehash", true);
+ if (!this.rehashing)
+ services.observer.addObserver(this, "dactyl-rehash", true);
},
"dactyl-rehash": function () {
services.observer.removeObserver(this, "dactyl-rehash");
diff --git a/pentadactyl/NEWS b/pentadactyl/NEWS
index c813a3af..4c6f2f5b 100644
--- a/pentadactyl/NEWS
+++ b/pentadactyl/NEWS
@@ -8,6 +8,16 @@
- Only visible tabs are considered in tab numbering,
gt/gn/gN, etc. [b1]
* Improved startup time by a factor of 7. [b1]
+ * Further improved startup time. [b6]
+ * Added site-local and script-local groups:
+ - Added the :group command to define and select groups.
+ - Added the -group flag to :autocmd, :command, :map, :style,
+ and friends.
+ - Mappings and commands can now be bound to groups which
+ execute only for certain websites.
+ - Autocommands, commands, mappings, and styles are now
+ automatically added to per-script groups so that most traces
+ of a script can be easily purged.
* Significant completion speed improvements, especially for
JavaScript. [b1]
* Greatly improved private mode support and :sanitize command.
@@ -76,8 +86,6 @@
and linking to source code locations). [b4]
- :downloads now opens a download list in the multi-line output
buffer. [b6]
- - Added :mapgroup command and -group flag to :map, :unmap, and
- :mapclear. [b6]
- Added -arg flag to :map. [b6]
- :extensions has been replaced with a more powerful :addons.
- Added -literal flag to :command. [b6]