Merge branch 'master' of github.com:Araq/Nimrod

This commit is contained in:
Araq 2013-02-16 22:54:03 +01:00
commit 8e9b39084c
27 changed files with 163 additions and 141 deletions

View file

@ -42,7 +42,7 @@ proc nimCharToStr(x: char): string {.compilerproc.} =
result = newString(1)
result[0] = x
proc getCurrentExceptionMsg(): string =
proc getCurrentExceptionMsg*(): string =
if excHandler != nil: return $excHandler.exc.msg
return ""
@ -151,7 +151,7 @@ proc cstrToNimstr(c: cstring): string {.noStackFrame, compilerproc.} =
return result;
"""
proc toEcmaStr(s: string): cstring {.noStackFrame, compilerproc.} =
proc toJSStr(s: string): cstring {.noStackFrame, compilerproc.} =
asm """
var len = `s`.length-1;
var result = new Array(len);
@ -304,7 +304,7 @@ when defined(kwin):
asm """
var buf = "";
for (var i = 0; i < arguments.length; ++i) {
buf += `toEcmaStr`(arguments[i]);
buf += `toJSStr`(arguments[i]);
}
print(buf);
"""
@ -316,7 +316,7 @@ elif defined(nodejs):
asm """
var buf = "";
for (var i = 0; i < arguments.length; ++i) {
buf += `toEcmaStr`(arguments[i]);
buf += `toJSStr`(arguments[i]);
}
console.log(buf);
"""
@ -338,7 +338,7 @@ else:
if node == nil: raise newException(EIO, "<body> element does not exist yet!")
asm """
for (var i = 0; i < arguments.length; ++i) {
var x = `toEcmaStr`(arguments[i]);
var x = `toJSStr`(arguments[i]);
`node`.appendChild(document.createTextNode(x))
}
"""