catch (Res.NotCacheableException e) { throw new JSExn("this resource cannot be cached"); }
case "stream.url": return url2res((String)a);
case "thread.sleep": sleep(JS.toInt(a)); return null;
- case "log.debug": Log.logJS(this, a== null ? "**null**" : a.toString()); return null;
- case "log.info": Log.logJS(this, a== null ? "**null**" : a.toString()); return null;
- case "log.warn": Log.logJS(this, a== null ? "**null**" : a.toString()); return null;
- case "log.error": Log.logJS(this, a== null ? "**null**" : a.toString()); return null;
+ case "log.debug": JS.log(this, a== null ? "**null**" : a.toString()); return null;
+ case "log.info": JS.log(this, a== null ? "**null**" : a.toString()); return null;
+ case "log.warn": JS.log(this, a== null ? "**null**" : a.toString()); return null;
+ case "log.error": JS.log(this, a== null ? "**null**" : a.toString()); return null;
case "regexp": return new JSRegexp(a, null);
case "rpc.xml": return new XMLRPC((String)a, "");
case "crypto.rsa": /* FEATURE */ return null;