<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18939">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Hello all,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>hope you had good start into 2011.
</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>ABCL via JSR-223 is almost perfect now, but I have
t</FONT><FONT size=2 face=Arial>wo things which do not work
perfectly:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>A) How to handle path names with
spaces?</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>When my Java application is installed in a path
with spaces (which should be no problem nowadays in 2011), I receive the
following error when the ABCL engine is created:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>ERROR placeholder called with
arguments:<BR>#<ERROR {590510}><BR>"Failed to find loadable system file in
boot classpath
'jar:file:/D:/Programme/MH%20AeroTools/PROPPY/bin/languages/abcl.jar!/org/armedbear/lisp/boot.lisp'"</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>The spaces have been encoded by "%20", but
obviously ABCL does not understand this boot path.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>B) How to redirect I/O of the script
engine?</FONT></DIV>
<DIV><FONT size=2 face=Arial>If I want to use a scripting engine in my
application, the user may make mistakes. OK.</FONT></DIV>
<DIV><FONT size=2 face=Arial>For this purpose I have to </FONT></DIV>
<DIV><FONT size=2 face=Arial>1) catch errors in Java, which works by placing the
following two lines into "abcl-script-config.lisp"</FONT></DIV>
<DIV><FONT size=2 face=Arial>(in-package :abcl-script)<BR>(setq
*use-throwing-debugger* nil)</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>2) catch standard error and standatd output.
While JSR provides an interface for this vi "setWriter" and "setErrorWriter", I
discovered that most JSR-223 engines do not implement this correctly. So I
resorted to redirect the system streams via "System.setOut" and "System.setErr",
which worked for all JSR-223 implementations so far ... except ABCL. I
always reveive error mesages, as well as the initialization message (...ABCL:
configured<BR>) on standard output, possibly bypassing the system
streams?</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>So how can I capture errors? Is t possible to
rediredt errro and output (e.g.of print) to the standard output and standard
error streams of the Java system? Maybe there is some extra initialization
needed in ABCL to do this in case of the JSR-223 engine.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>Thanks for listening,</FONT></DIV>
<DIV><FONT size=2 face=Arial>Martin</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV></BODY></HTML>