on Thursday, October 16, 2008, 1:38:12 AM Mike wrote:
Thanks! This is a definite improvement. (and amazingly fast :-)
The patch seems to have changed the error message to where it's now complaining about a slightly different generic function, this time called on the underlying SWANK output stream:
NO-APPLICABLE-METHOD: When calling #1=#<STANDARD-GENERIC-FUNCTION STREAM-WRITE-CHAR-SEQUENCE> with arguments #2=(#(72 101 108 108 111 32 87 111 114 108 ...) #<SWANK-BACKEND::SLIME-OUTPUT-STREAM #x19F5DF19> 0 12), no method is applicable. [Condition of type METHOD-CALL-ERROR]
Is it reasonable to belive I need to provide a definition of the method for the SLIME-OUTPUT-STREAM?
Flexi-streams are designed to wrap binary stream - a stream that supports WRITE-BYTE and WRITE-SEQUENCE with a byte array as argument.
SILE-OUTPUT-STREAM is a character stream, it inherits from FUNDAMENTAL-CHARACTER-OUTPUT-STREAM.
Therefore, your example:
(setq my-flexi-stream (flexi-streams:make-flexi-stream *standard-output*)) (format my-flexi-stream "Hello World!")
is not 100% correct.
As far as I understood, the example is only created to isolate the error you encountered when used Drakma with CLISP, and there is no real need to wrap *standard-output* by flexi-stream.
With patched trivial-gray-streams Drakma must work in CLISP.
Best regards, - Anton