Hi Jean-Claude,
Jean-Claude Beaudoin jean.claude.beaudoin@gmail.com writes:
> 1462 is not of type STREAM. > [Condition of type TYPE-ERROR] > > Should be fixed in git head. I still get this error.
You are most probably still using some other version of slime instead of the one provided by latest mkcl git master head (the one I just fixed). Please have a look at this commit, and remove the corresponding call to #'cl:file-position in the version you currently use. I still need to push this to slime git head...
yes, I do not use the mkcl slime so I missed this fix. Would be great if your changes make it into the official slime. Thank you for fixing these issues!
> BTW, are you sure you turned off any "trace preventing" optimization > before trying cl:trace? You need to have done the equivalent of > (proclaim '(optimize (debug 3) (safety 3) (speed 1)) before > compilation of any code that you expect to trace through, otherwise > there may be some inlining or "fast-call" done by the compiler that > will prevent good use of cl:trace. This seem to do something, but not always. I haven't identified the problem yet.
I will need much more detailed and precise information here if you want me to help you further on this.
Yeah, I know. I have tried to make sense of it, but still have not found a pattern which I could report as a test case. When I know more, I will let you know.
I can reproduce the problem now, thank you very much. It is a bug in the code generated by the "Lisp to C" compiler for form "multiple-value-bind" (and probably also multiple-value-setq) but only when (optimize (debug 2)) is in effect. Any other value of "debug" makes the problem disappear. Your slime setup has most probably changed the effective global "debug" value through some call to #'cl:proclaim at some point. (BTW, the effective global "debug" value is stored in si::*debug*)
I am working on a fix for the bug...
Great!
One more question: is there something like octets-to-string and string-to-octets functions?
Not in their general form but there is an MKCL equivalent for the most useful encoding special case (utf8). Have a look at string-to-utf8 and utf8-to-string in swank-mkcl.lisp.
Thank you for pointers, I will have a look.
Best Regards,
Tomas