summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rwxr-xr-xlib/system/ecmasys.nim12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/system/ecmasys.nim b/lib/system/ecmasys.nim
index e6a7d7057..f78b7f68c 100755
--- a/lib/system/ecmasys.nim
+++ b/lib/system/ecmasys.nim
@@ -298,8 +298,18 @@ type
     replaceData*: proc (start, len: int, text: cstring) {.nimcall.}
     setAttribute*: proc (name, value: cstring) {.nimcall.}
     setAttributeNode*: proc (attr: ref TNode) {.nimcall.}
+
+when defined(kwin):
+  proc rawEcho {.compilerproc, nostackframe.} =
+    asm """
+      var buf = "";
+      for (var i = 0; i < arguments.length; ++i) {
+        buf += `toEcmaStr`(arguments[i]);
+      }
+      print(buf);
+    """
     
-when defined(nodejs):
+elif defined(nodejs):
   proc ewriteln(x: cstring) = log(x)
   
   proc rawEcho {.compilerproc, nostackframe.} =