diff --git a/common/components/protocols.js b/common/components/protocols.js
index f37a0ebf..0bedf607 100644
--- a/common/components/protocols.js
+++ b/common/components/protocols.js
@@ -23,16 +23,22 @@ const systemPrincipal = Cc["@mozilla.org/systemprincipal;1"].getService(Ci.nsIPr
function dataURL(type, data) "data:" + (type || "application/xml;encoding=UTF-8") + "," + escape(data);
function makeChannel(url, orig) {
- if (url == null)
- return fakeChannel();
- if (typeof url === "function")
- url = dataURL.apply(null, url());
- let uri = ioService.newURI(url, null, null);
- let channel = ioService.newChannelFromURI(uri);
- channel.contentCharset = "UTF-8";
- channel.owner = systemPrincipal;
- channel.originalURI = orig;
- return channel;
+ try {
+ if (url == null)
+ return fakeChannel();
+ if (typeof url === "function")
+ url = dataURL.apply(null, url());
+ let uri = ioService.newURI(url, null, null);
+ let channel = ioService.newChannelFromURI(uri);
+ channel.contentCharset = "UTF-8";
+ channel.owner = systemPrincipal;
+ channel.originalURI = orig;
+ return channel;
+ }
+ catch (e) {
+ Components.utils.reportError(e);
+ throw e;
+ }
}
function fakeChannel(orig) makeChannel("chrome://dactyl/content/does/not/exist", orig);
function redirect(to, orig, time) {
diff --git a/common/content/commands.js b/common/content/commands.js
index 63df6d03..8bd700d7 100644
--- a/common/content/commands.js
+++ b/common/content/commands.js
@@ -448,6 +448,10 @@ const Commands = Module("commands", {
/** @property {Iterator(Command)} @private */
__iterator__: function () {
+ let sorted = this._exCommands.sort(function (a, b) a.name > b.name);
+ return array.iterValues(sorted);
+ },
+ iterator: function () {
let sorted = this._exCommands.sort(function (a, b) a.serialGroup - b.serialGroup || a.name > b.name);
return array.iterValues(sorted);
},
diff --git a/common/content/dactyl.js b/common/content/dactyl.js
index 7690f32f..dbebe862 100644
--- a/common/content/dactyl.js
+++ b/common/content/dactyl.js
@@ -564,6 +564,8 @@ const Dactyl = Module("dactyl", {
.toXMLString()));
fileMap["plugins"] = function () ['text/xml;charset=UTF-8', help];
+ default xml namespace = NS;
+
overlayMap["index"] = function () ['text/xml;charset=UTF-8',
'\n' +
'{
template.map(iter(), util.identity)
- }
, <>{"\n\n"}>)))
- .replace('xmlns="' + XHTML + '"', "", "g") +
+ }, <>{"\n\n"}>))) +
'\n
{obj.description.replace(/\.?$/, ".")}
: "" }{ - extraHelp ? br + extraHelp : "" }{ - !(extraHelp || obj.description) ? br +Sorry, no help available.
: "" } -{template.linkifyHelp(obj.description.replace(/\.?$/, "."), true)}
: "" }{ + extraHelp ? br + extraHelp : "" }{ + !(extraHelp || obj.description) ? br +Sorry, no help available.
: "" } +