X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flisp-stream.lisp;h=a031a0df7ffce2d5742f4db585c8609bed524ae1;hb=b19093fa94d6e1785abee99c35c9a610e8777671;hp=5a34f9fb9fe676b161b02cc35405e651ebe800b0;hpb=95a6db7329b91dd90d165dd4057b9b5098d34aa2;p=sbcl.git diff --git a/src/code/lisp-stream.lisp b/src/code/lisp-stream.lisp index 5a34f9f..a031a0d 100644 --- a/src/code/lisp-stream.lisp +++ b/src/code/lisp-stream.lisp @@ -11,15 +11,24 @@ (in-package "SB!IMPL") -(defconstant in-buffer-length 512 "the size of a stream in-buffer") +;;; 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)) (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