Commit f80a8622 authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.7.41:

	Make {IN,OUT}PUT-STREAM-P work on synonym streams
	... looks like pvaneynd's HIGH-SECURITY is in fact necessary
	... delete workarounds for this through the rest of the stream
		code while I'm at it.
parent 531b03cf
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2294,6 +2294,8 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
       signal a TYPE-ERROR if their argument is not a stream.
    ** READ-BYTE and WRITE-BYTE signal a TYPE-ERROR if their stream
       designator argument does not designate a stream.
    ** OPEN-STREAM-P and INPUT-STREAM-P on synonym streams work by examining 
       the synonym.

planned incompatible changes in 0.8.x:
  * (not done yet, but planned:) When the profiling interface settles
+7 −26
Original line number Diff line number Diff line
@@ -63,7 +63,6 @@
(defun ansi-stream-input-stream-p (stream)
  (declare (type ansi-stream stream))

  #!+high-security
  (when (synonym-stream-p stream)
    (setf stream
	  (symbol-value (synonym-stream-symbol stream))))
@@ -85,7 +84,6 @@
(defun ansi-stream-output-stream-p (stream)
  (declare (type ansi-stream stream))

  #!+high-security
  (when (synonym-stream-p stream)
    (setf stream (symbol-value
		  (synonym-stream-symbol stream))))
@@ -103,6 +101,7 @@
(declaim (inline ansi-stream-open-stream-p))
(defun ansi-stream-open-stream-p (stream)
  (declare (type ansi-stream stream))
  ;; CLHS 22.1.4 lets us not worry about synonym streams here.
  (not (eq (ansi-stream-in stream) #'closed-flame)))

(defun open-stream-p (stream)
@@ -581,10 +580,7 @@

(defun make-broadcast-stream (&rest streams)
  (dolist (stream streams)
    (unless (or (and (synonym-stream-p stream)
		     (output-stream-p (symbol-value
				       (synonym-stream-symbol stream))))
		(output-stream-p stream))
    (unless (output-stream-p stream)
      (error 'type-error
	     :datum stream
	     :expected-type '(satisfies output-stream-p))))
@@ -706,17 +702,11 @@
  ;; FIXME: This idiom of the-real-stream-of-a-possibly-synonym-stream
  ;; should be encapsulated in a function, and used here and most of
  ;; the other places that SYNONYM-STREAM-P appears.
  (unless (or (and (synonym-stream-p output-stream)
	 	   (output-stream-p (symbol-value
				     (synonym-stream-symbol output-stream))))
	      (output-stream-p output-stream))
  (unless (output-stream-p output-stream)
    (error 'type-error
	   :datum output-stream
	   :expected-type '(satisfies output-stream-p)))
  (unless (or (and (synonym-stream-p input-stream)
		   (input-stream-p (symbol-value
				    (synonym-stream-symbol input-stream))))
	      (input-stream-p input-stream))
  (unless (input-stream-p input-stream)
    (error 'type-error
	   :datum input-stream
	   :expected-type '(satisfies input-stream-p)))
@@ -804,10 +794,7 @@
  "Return a stream which takes its input from each of the streams in turn,
   going on to the next at EOF."
  (dolist (stream streams)
    (unless (or (and (synonym-stream-p stream)
		     (input-stream-p (symbol-value
				      (synonym-stream-symbol stream))))
		(input-stream-p stream))
    (unless (input-stream-p stream)
      (error 'type-error
	     :datum stream
	     :expected-type '(satisfies input-stream-p))))
@@ -899,17 +886,11 @@
  "Return a bidirectional stream which gets its input from INPUT-STREAM and
   sends its output to OUTPUT-STREAM. In addition, all input is echoed to
   the output stream."
  (unless (or (and (synonym-stream-p output-stream)
	 	   (output-stream-p (symbol-value
				     (synonym-stream-symbol output-stream))))
	      (output-stream-p output-stream))
  (unless (output-stream-p output-stream)
    (error 'type-error
	   :datum output-stream
	   :expected-type '(satisfies output-stream-p)))
  (unless (or (and (synonym-stream-p input-stream)
		   (input-stream-p (symbol-value
				    (synonym-stream-symbol input-stream))))
	      (input-stream-p input-stream))
  (unless (input-stream-p input-stream)
    (error 'type-error
	   :datum input-stream
	   :expected-type '(satisfies input-stream-p)))
+1 −1
Original line number Diff line number Diff line
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8.7.40"
"0.8.7.41"