on master help sign in
More bug fixes for string escaping.
c402dceevancz
core-js/Element.js+5−5
@@ -68,7 +68,7 @@ var Element = function() {
68
68
69 var text = makeText(0)('left');
69 var text = makeText(0)('left');
70 var plainText = function(str) {
70 var plainText = function(str) {
71− return makeText(0)("left")(Data.String.toText(str)); };
71+ return makeText(0)("left")(Value.toText(str)); };
72 var justifiedText = makeText(0)('justify');
72 var justifiedText = makeText(0)('justify');
73 var centeredText = makeText(0)('center');
73 var centeredText = makeText(0)('center');
74 var rightedText = makeText(0)('right');
74 var rightedText = makeText(0)('right');
@@ -86,7 +86,7 @@ var Element = function() {
86 }
86 }
87 Dispatcher.adjust()
87 Dispatcher.adjust()
88 };
88 };
89− img.src = Data.String.toText(src);
89+ img.src = Value.toText(src);
90 img.name = img.src;
90 img.name = img.src;
91 return img;
91 return img;
92 };
92 };
@@ -115,14 +115,14 @@ var Element = function() {
115 0,0, canvas.width, canvas.height);
115 0,0, canvas.width, canvas.height);
116 }
116 }
117 };
117 };
118− img.src = Data.String.toText(src);
118+ img.src = Value.toText(src);
119 return canvas;
119 return canvas;
120 };
120 };
121 };
121 };
122 };
122 };
123
123
124 var video = function(src) {
124 var video = function(src) {
125− src = Data.String.toText(src);
125+ src = Value.toText(src);
126 var e = newElement('video');
126 var e = newElement('video');
127 e.controls = "controls";
127 e.controls = "controls";
128 var source = newElement('source');
128 var source = newElement('source');
@@ -133,7 +133,7 @@ var Element = function() {
133 return e;
133 return e;
134 };
134 };
135 var audio = function(src) {
135 var audio = function(src) {
136− src = Data.String.toString(src);
136+ src = Value.toText(src);
137 var e = newElement('video');
137 var e = newElement('video');
138 e.controls = "controls";
138 e.controls = "controls";
139 var source = newElement('source');
139 var source = newElement('source');
core-js/Text.js+2−9
@@ -1,14 +1,6 @@
1
1
2var Text = function() {
2var Text = function() {
3− var fromString = function(elmList) {
3+ function fromString(s) { return Value.toText(s); }
4− if (typeof elmList === "string") return elmList;
5− var a = [];
6− while (elmList[0] === "Cons") {
7− a.push(elmList[1]);
8− elmList = elmList[2];
9− }
10− return Value.properEscape(a.join(''));
11− };
12
4
13 var addTag = function(tag) { return function(text) {
5 var addTag = function(tag) { return function(text) {
14 return '<' + tag + ' style="padding:0;margin:0">' + text + '</' + tag + '>';
6 return '<' + tag + ' style="padding:0;margin:0">' + text + '</' + tag + '>';
@@ -48,6 +40,7 @@ var Text = function() {
48 overline : overline,
40 overline : overline,
49 strikeThrough : strikeThrough,
41 strikeThrough : strikeThrough,
50 monospace : typeface('monospace'),
42 monospace : typeface('monospace'),
43+ typeface : typeface,
51 color : color,
44 color : color,
52 link : link };
45 link : link };
53}();
46}();
core-js/Value.js+1−2
@@ -38,12 +38,11 @@ var Value = function(){
38 .replace(/'/g, /*'*/ "&#39;")
38 .replace(/'/g, /*'*/ "&#39;")
39 .replace(/</g, "&#60;")
39 .replace(/</g, "&#60;")
40 .replace(/>/g, "&#62;")
40 .replace(/>/g, "&#62;")
41− .replace(/ /g, "&nbsp;")
42 .replace(/\n/g, "<br/>");
41 .replace(/\n/g, "<br/>");
43 };
42 };
44
43
45 var toText = function(elmList) {
44 var toText = function(elmList) {
46− if (typeof elmList === "string") return elmList;
45+ if (typeof elmList === "string") return properEscape(elmList);
47 var a = [];
46 var a = [];
48 while (elmList[0] === "Cons") {
47 while (elmList[0] === "Cons") {
49 a.push(elmList[1]);
48 a.push(elmList[1]);
core-js/foreign/JSON.js+1−1
@@ -87,7 +87,7 @@ var ElmJSON = function() {
87 return v[1];
87 return v[1];
88 }
88 }
89 }
89 }
90− return Value.toText(JSON.stringify(fromValue([ 'JsonObject', obj ]), null, JS.castStringToJSString(sep)));
90+ return JSON.stringify(fromValue([ 'JsonObject', obj ]), null, JS.castStringToJSString(sep));
91 };
91 };
92 }
92 }
93 function fromJSString(str) {
93 function fromJSString(str) {
core-js/runtime/Signal.js+2−2
@@ -157,7 +157,7 @@ var Signal = function() {
157 : ["Failure", request.status, toElmString(request.statusText)]);
157 : ["Failure", request.status, toElmString(request.statusText)]);
158 }
158 }
159 };
159 };
160− request.open(how, Data.String.toText(url), true);
160+ request.open(how, Value.toText(url), true);
161 request.send(null);
161 request.send(null);
162 return thread;
162 return thread;
163 };
163 };
@@ -185,7 +185,7 @@ var Signal = function() {
185 : ["Failure", request.status, toElmString(request.statusText)]]);
185 : ["Failure", request.status, toElmString(request.statusText)]]);
186 }
186 }
187 };
187 };
188− request.open(how, Data.String.toText(strOpt[1]), true);
188+ request.open(how, Value.toText(strOpt[1]), true);
189 request.send(null);
189 request.send(null);
190 return [];
190 return [];
191 }
191 }