diff --git a/js/JavaScriptParseTree.js b/js/JavaScriptParseTree.js index fc660f9ec..92999fea8 100644 --- a/js/JavaScriptParseTree.js +++ b/js/JavaScriptParseTree.js @@ -52,10 +52,10 @@ JavaScriptParseTree.prototype.renderNode = function(output,node) { var p; switch(node.type) { case "StringLiteral": - output.push(utils.stringify(node.value)); + output.push('"' + utils.stringify(node.value) + '"'); break; case "StringLiterals": - output.push(utils.stringify(node.value.join(""))); + output.push('"' + utils.stringify(node.value.join("")) + '"'); break; case "FunctionCall": output.push("("); diff --git a/js/Utils.js b/js/Utils.js index f8adb216c..39871a034 100755 --- a/js/Utils.js +++ b/js/Utils.js @@ -227,12 +227,13 @@ utils.stringify = function(s) { * * For portability, we also escape escape all non-ASCII characters. */ - return '"' + s + return s .replace(/\\/g, '\\\\') // backslash - .replace(/"/g, '\\"') // closing quote character + .replace(/"/g, '\\"') // double quote character + .replace(/'/g, "\\'") // single quote character .replace(/\r/g, '\\r') // carriage return .replace(/\n/g, '\\n') // line feed - .replace(/[\x80-\uFFFF]/g, utils.escape) + '"'; // non-ASCII characters + .replace(/[\x80-\uFFFF]/g, utils.escape); // non-ASCII characters }; // Creates an HTML element string from these arguments: