diff --git a/js-assembler/assemble.rkt b/js-assembler/assemble.rkt index 888cc46..00dee23 100644 --- a/js-assembler/assemble.rkt +++ b/js-assembler/assemble.rkt @@ -591,7 +591,7 @@ EOF (cond #;[(current-emit-debug-trace?) (string-append - (format "if(typeof(window.console)!=='undefined'&&typeof(console.log)==='function'){console.log(~s);\n}" + (format "if(typeof(window.console)!=='undefined'&&typeof(window.console.log)==='function'){window.console.log(~s);\n}" (format "~a" stmt)) assembled)] [else diff --git a/js-assembler/package.rkt b/js-assembler/package.rkt index ecc0a7d..5c91548 100644 --- a/js-assembler/package.rkt +++ b/js-assembler/package.rkt @@ -516,7 +516,7 @@ EOF EOF (if manifest (format "manifest=~s" (path->string manifest)) "") (if with-legacy-ie-support? - "" + "" "") title (string-join (map (lambda (js) diff --git a/js-assembler/runtime-src/baselib-primitives.js b/js-assembler/runtime-src/baselib-primitives.js index 43d653a..cec6231 100644 --- a/js-assembler/runtime-src/baselib-primitives.js +++ b/js-assembler/runtime-src/baselib-primitives.js @@ -791,7 +791,7 @@ var i; var result = NULL; for (i = str.length - 1; i >= 0; i--) { - result = makePair(baselib.chars.makeChar(str[i]), result); + result = makePair(baselib.chars.makeChar(str.charAt(i)), result); } return result; }); @@ -1022,7 +1022,7 @@ var index = baselib.numbers.toFixnum( checkNaturalInRange(M, 'string-ref', 1, 0, firstArg.length)); - return baselib.chars.makeChar(firstArg[index]); + return baselib.chars.makeChar(firstArg.charAt(index)); }); diff --git a/world/kernel.js b/world/kernel.js index 5d4f48b..9c5234f 100644 --- a/world/kernel.js +++ b/world/kernel.js @@ -132,7 +132,11 @@ var adaptWorldFunction = function(worldFunction) { }, function(err) { // FIXME: do error trapping - console.log(err); + if (window.console && window.console.log) { + window.console.log(err); + } else { + throw err; + } }].concat([].slice.call(arguments, 0, arguments.length - 1))); }; };