[Cc to mailing list]
On Tue, 15 Mar 2005 19:49:56 +0100, "Walter C. Pelissero" <walter(a)pelissero.de> wrote:
> I'm trying your cl-gd with PAServe and stumbled in a minor glitch in
> MAKE-STREAM-FN. The COND first checks for:
>
> (subtypep (stream-element-type stream) '(unsigned-byte 8))
>
> and then
>
> (subtypep (stream-element-type stream) 'character)
>
> Which both fail miserably at least on CMUCL with *HTML-STREAM* as
> STREAM. The reason is that:
>
> (stream-element-type *HTML-STREAM*) => '(OR CHARACTER (UNSIGNED-BYTE 8))
>
> (subtypep '(or character (unsigned-byte 8)) 'character) => NIL T
>
> (subtypep '(or character (unsigned-byte 8)) '(unsigned-byte 8)) => NIL T
>
> Apparently changing the order of the operands, makes the COND work
> as expected, although, as far as I understand, the semantic of
> subtypep isn't respected.
No, I think CMUCL is right. This was a thinko in my code.
Thanks for the report, I've uploaded a new version which fixes this.
Cheers,
Edi.