[flexi-streams-devel] Formatted output under CLISP

Anton Vodonosov avodonosov at yandex.ru
Wed Oct 15 23:34:21 UTC 2008


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





More information about the Flexi-streams-devel mailing list