predlib.lsp: fix type comparisons involving gray streams

Due to gray:fundamental-stream being treated as a built-in type,
subclass relationships were not checked (see added test case).
Fixes #614.
This commit is contained in:
Marius Gerbershagen 2020-11-06 20:35:22 +01:00
parent cdb602e40d
commit 1effa6a160
2 changed files with 4 additions and 1 deletions

View file

@ -1351,7 +1351,6 @@ if not possible."
(EXT:ANSI-STREAM (OR BROADCAST-STREAM CONCATENATED-STREAM ECHO-STREAM
FILE-STREAM STRING-STREAM SYNONYM-STREAM TWO-WAY-STREAM
EXT:SEQUENCE-STREAM))
#+clos-streams (GRAY:FUNDAMENTAL-STREAM)
(STREAM (OR EXT:ANSI-STREAM
#+clos-streams GRAY:FUNDAMENTAL-STREAM))
(EXT:VIRTUAL-STREAM (OR STRING-STREAM #+clos-streams GRAY:FUNDAMENTAL-STREAM))

View file

@ -76,9 +76,13 @@
;;;
;;; There is a problem with SUBTYPEP and type STREAM
;;;
(defclass gray-stream-test (gray:fundamental-character-output-stream) ())
(test cmp.0005.subtypep-stream
(is (equal (multiple-value-list
(subtypep (find-class 'gray:fundamental-stream) 'stream))
(list t t)))
(is (equal (multiple-value-list
(subtypep (find-class 'gray-stream-test) 'stream))
(list t t))))
;;; Date: 09/07/2006 (Tim S)