Opened 12 years ago

Closed 10 years ago

#69 closed defect (fixed)

Gray stream compatibility

Reported by: ehuelsmann Owned by: somebody
Priority: major Milestone: 0.26
Component: other Version:
Keywords: compatibility Cc:
Parent Tickets:

Description

The last thing holding us back from being fully Gray stream compatible, is that TYPEP should return T for any fundamental-stream derived instance when tested against 'STREAM or (find-class 'STREAM).

Change History (6)

comment:1 Changed 12 years ago by ehuelsmann

Milestone: 0.19

comment:2 Changed 12 years ago by ehuelsmann

Milestone: 0.190.20

comment:3 Changed 11 years ago by ehuelsmann

Milestone: 0.200.22

Due to other priorities, this didn't make it into 0.20, I'm affraid.

Because I want DEFINE-METHOD-COMBINATION done in the near future too (like in 0.21, for example), I'm setting a more realistic goal for this ticket.

comment:4 Changed 11 years ago by ehuelsmann

Milestone: 0.220.24

0.23 is getting crowded, but 0.22 has been released.

comment:5 Changed 10 years ago by Mark Evenson

Milestone: 0.240.26

comment:6 Changed 10 years ago by Mark Evenson

Resolution: fixed
Status: newclosed

In getting Hunchentoot to work, I have committed a fair amount of rework to the Gray Streams code (c.f. r13255 and r13272).

At this point the problem described in this ticket is at least solved, but it is unknown when this exactly happened

CL-USER> (ql:quickload "flexi-streams")
To load "flexi-streams":
  Load 1 ASDF system:
    flexi-streams
; Loading "flexi-streams"

("flexi-streams")
CL-USER> (typep (make-instance 'flexi-streams:flexi-io-stream) 'stream)
T
CL-USER> (mop:class-precedence-list (class-of (make-instance 'flexi-streams:flexi-io-stream)))
(#<STANDARD-CLASS FLEXI-STREAMS:FLEXI-IO-STREAM {787A1F99}> 
 #<STANDARD-CLASS FLEXI-STREAMS:FLEXI-INPUT-STREAM {2495223B}>
 #<STANDARD-CLASS FLEXI-STREAMS:FLEXI-OUTPUT-STREAM {684D0CA0}> 
 #<STANDARD-CLASS FLEXI-STREAMS:FLEXI-STREAM {522F46B8}> 
 #<STANDARD-CLASS TRIVIAL-GRAY-STREAMS:TRIVIAL-GRAY-STREAM-MIXIN {224D834F}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-BINARY-OUTPUT-STREAM {6B97436B}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-CHARACTER-OUTPUT-STREAM {3B0BBDB3}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-OUTPUT-STREAM {2818DE48}>
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-BINARY-INPUT-STREAM {2FCF1D57}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-CHARACTER-INPUT-STREAM {CBF2F7C}>  
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-INPUT-STREAM {6F3A342A}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-CHARACTER-STREAM {58E64834}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-BINARY-STREAM {13DEB45F}> 
 #<STANDARD-CLASS GRAY-STREAMS:FUNDAMENTAL-STREAM {AFC47AD}>
 #<STANDARD-CLASS STANDARD-OBJECT {647109C4}> 
 #<STRUCTURE-CLASS STREAM {13F6BA0F}> 
 #<STRUCTURE-CLASS STRUCTURE-OBJECT {16B8F8EB}> 
 #<BUILT-IN-CLASS T {1BBB60C3}>)
CL-USER> 

It is not expected that there are no further errors in using classes derived from GRAY-STREAMS:FUNDAMENTAL-STREAM as the current code base was not systematically audited with this end in mind. Additional problems should be filed in new issues.

Note: See TracTickets for help on using tickets.