X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flisp-stream.lisp;h=a031a0df7ffce2d5742f4db585c8609bed524ae1;hb=872175cd9cb5b4966a36d4bd92421cc407a0355b;hp=f6dac1605e177001c60b240bcf0bc0be8b19f535;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/lisp-stream.lisp b/src/code/lisp-stream.lisp index f6dac16..a031a0d 100644 --- a/src/code/lisp-stream.lisp +++ b/src/code/lisp-stream.lisp @@ -11,19 +11,24 @@ (in-package "SB!IMPL") -(file-comment - "$Header$") - +;;; the size of a stream in-buffer +;;; +;;; KLUDGE: The EVAL-WHEN wrapper isn't needed except when using CMU +;;; CL as a cross-compilation host. Without it, cmucl-2.4.19 issues +;;; full WARNINGs (not just STYLE-WARNINGs!) when processing this +;;; file, and when processing other files which use LISP-STREAM. +;;; -- WHN 2000-12-13 (eval-when (:compile-toplevel :load-toplevel :execute) - (defconstant in-buffer-length 512 "the size of a stream in-buffer")) + (defconstant +in-buffer-length+ 512)) (deftype in-buffer-type () - `(simple-array (unsigned-byte 8) (,in-buffer-length))) + `(simple-array (unsigned-byte 8) (,+in-buffer-length+))) -(defstruct (lisp-stream (:constructor nil)) +(defstruct (lisp-stream (:constructor nil) + (:copier nil)) ;; Buffered input. (in-buffer nil :type (or in-buffer-type null)) - (in-index in-buffer-length :type index) ; index into IN-BUFFER + (in-index +in-buffer-length+ :type index) ; index into IN-BUFFER (in #'ill-in :type function) ; READ-CHAR function (bin #'ill-bin :type function) ; byte input function (n-bin #'ill-bin :type function) ; n-byte input function