on master help sign in
Fix `join` and fix `show`
commit9c74b8697d01f07b4c8e47023150806fb48cc252 authorevancz <info@elm-lang.org> dateSun 17 Mar 2013, 13:42 (14 years ago) parent6bcf63a
2 files changed+13−7
libraries/Native/List.js+2−1 libraries/Native/Show.js+11−6
libraries/Native/List.js+2−1
@@ -229,7 +229,8 @@ Elm.Native.List = function(elm) {
229229 var out = toArray(xss._0);
230230 xss = xss._1;
231231 while (xss.ctor === "Cons") {
232− out += s + toArray(xss._0);
232+ out = out.concat(s, toArray(xss._0));
233+ xss = xss._1;
233234 }
234235 return fromArray(out);
235236 }
libraries/Native/Show.js+11−6
@@ -56,14 +56,19 @@ Elm.Native.Show = function(elm) {
5656 } else if ('ctor' in v) {
5757 if (v.ctor.substring(0,5) === "Tuple") {
5858 var output = [];
59− for (var k in v) { if (k === 'ctor') continue; output.push(toString(v[k])); }
59+ for (var k in v) {
60+ if (k === 'ctor') continue;
61+ output.push(toString(v[k]));
62+ }
6063 return "(" + output.join(",") + ")";
6164 } else if (v.ctor === "Cons") {
62− var isStr = typeof v._0 === "string";
63− var start = isStr ? '"' : "[";
64− var end = isStr ? '"' : "]";
65− var sep = isStr ? "" : ",";
66− var f = isStr ? function(x){return x} : toString;
65+ var isStr = typeof v._0 === "string",
66+ start = isStr ? '"' : "[",
67+ end = isStr ? '"' : "]",
68+ sep = isStr ? "" : ",",
69+ f = !isStr ? toString : function(x){
70+ return x === '\n' ? '\\n' : x;
71+ };
6772 var output = start + f(v._0);
6873 v = v._1;
6974 while (v.ctor === "Cons") {