Hello all,


On Wed, Oct 7, 2009 at 1:49 PM, Kamil Shakirov <kamils80@gmail.com> wrote:
Hi Greg,

On Wed, 2009-10-07 at 08:40 +1100, Greg Santucci wrote:
> 2) si_safe_eval(3, form, Cnil, evalErrorSymbol) evaluates the form,
> but always returns evalErrorSymbol. cl_eval(form) seems to work
> normally.

I already reported this bug back in August, I think this is related:

http://sourceforge.net/mailarchive/forum.php?thread_name=1250592216.10898.70.camel%40devbox&forum_name=ecls-list

--
--wbr.


Thanks for that. I have found some workarounds:

1) In the debug build (ECL_DEBUG = 1 in Makefile) ECL code can't be stepped through from the Visual Studio debugger anymore.

In src\cmp\cmpmain.lsp, comment out the 3 calls to delete-msvc-generated-files. If you've already built ECL, rebuild with:

ecl_min < compile.lsp

in the msvc directory.


2) si_safe_eval(3, form, Cnil, evalErrorSymbol) evaluates the form, but always returns evalErrorSymbol. cl_eval(form) seems to work normally.

I just switched to si_safe_eval(2,form,Cnil) for now. This means that any error will invoke the debugger, which can be dismissed with (quit)

The functions of interest in my brief and so far unsuccessful attempt to fix this are safe-eval in src\lsp\top.lsp, and si::string-to-object in src\lsp\iolib.lsp. Again, to rebuild, use:

ecl_min < compile.lsp

Regards,

Greg