diff --git a/common/components/protocols.js b/common/components/protocols.js
index d14b3e4e..cf9959f0 100644
--- a/common/components/protocols.js
+++ b/common/components/protocols.js
@@ -248,7 +248,7 @@ function LocaleChannel(pkg, path, orig) {
function StringChannel(data, contentType, uri) {
let channel = services.StreamChannel(uri);
- channel.contentStream = services.StringStream(data);
+ channel.contentStream = services.CharsetConv("UTF-8").convertToInputStream(data);
if (contentType)
channel.contentType = contentType;
channel.contentCharset = "UTF-8";
diff --git a/common/content/dactyl.js b/common/content/dactyl.js
index 151807a5..c7bbb11e 100644
--- a/common/content/dactyl.js
+++ b/common/content/dactyl.js
@@ -686,14 +686,13 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
'\n' +
'\n' +
'\n' +
- unescape(encodeURI( // UTF-8 handling hack.
{_("help.title.Using Plugins")}
{body}
- .toXMLString()));
+ .toXMLString();
fileMap["plugins"] = function () ['text/xml;charset=UTF-8', help];
fileMap["versions"] = function () {
@@ -792,14 +791,13 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
'\n' +
'\n' +
'\n' +
- unescape(encodeURI( // UTF-8 handling hack.
{config.appName} Versions
{body}
- .toXMLString()))
+ .toXMLString()
];
}
addTags("versions", util.httpGet("dactyl://help/versions").responseXML);
@@ -810,11 +808,10 @@ var Dactyl = Module("dactyl", XPCOM(Ci.nsISupportsWeakReference, ModuleBase), {
overlayMap["index"] = ['text/xml;charset=UTF-8',
'\n' +
'\n' +
- unescape(encodeURI( // UTF-8 handling hack.
template.map(dactyl.indices, function ([name, iter])
{
template.map(iter(), util.identity)
- }
, <>{"\n\n"}>))) +
+ }, <>{"\n\n"}>) +
'\n'];
addTags("index", util.httpGet("dactyl://help-overlay/index").responseXML);
diff --git a/common/modules/commands.jsm b/common/modules/commands.jsm
index 074b12b7..107404c0 100644
--- a/common/modules/commands.jsm
+++ b/common/modules/commands.jsm
@@ -969,7 +969,7 @@ var Commands = Module("commands", {
util.assert(!error, error);
// if we add the argument to an option after a space, it MUST not be empty
- if (sep != "=" && !quote && arg.length == 0)
+ if (sep != "=" && !quote && arg.length == 0 && !complete)
arg = null;
count++; // to compensate the "=" character
diff --git a/common/modules/styles.jsm b/common/modules/styles.jsm
index 3516cc7d..c12b6e18 100644
--- a/common/modules/styles.jsm
+++ b/common/modules/styles.jsm
@@ -254,7 +254,7 @@ var Styles = Module("Styles", {
services["dactyl:"].providers["style"] = function styleProvider(uri) {
let id = /^\/(\d*)/.exec(uri.path)[1];
if (set.has(styles.allSheets, id))
- return ["text/css", unescape(encodeURI(styles.allSheets[id].fullCSS))];
+ return ["text/css", styles.allSheets[id].fullCSS];
return null;
};
},
diff --git a/common/modules/util.jsm b/common/modules/util.jsm
index 0a64fd2f..6d6868e8 100644
--- a/common/modules/util.jsm
+++ b/common/modules/util.jsm
@@ -974,11 +974,11 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
.map(function (node) "//" + node).join(" | ");
},
- makeDTD: function makeDTD(obj) unescape(encodeURI(iter(obj)
+ makeDTD: function makeDTD(obj) iter(obj)
.map(function ([k, v]) [""].join(""))
- .join("\n"))),
+ .join("\n"),
map: deprecated("iter.map", function map(obj, fn, self) iter(obj).map(fn, self).toArray()),
writeToClipboard: deprecated("dactyl.clipboardWrite", function writeToClipboard(str, verbose) util.dactyl.clipboardWrite(str, verbose)),