X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Flisp-stream.lisp;h=a031a0df7ffce2d5742f4db585c8609bed524ae1;hb=f4f18b9dcdaf1948947b1747f5bfa766a1a0ee4c;hp=deeba9b1e4af91c59632eaf1cf901a21d850a4cd;hpb=60011b86627fa68eeacffd49c49826e474c7fd82;p=sbcl.git diff --git a/src/code/lisp-stream.lisp b/src/code/lisp-stream.lisp index deeba9b..a031a0d 100644 --- a/src/code/lisp-stream.lisp +++ b/src/code/lisp-stream.lisp @@ -14,19 +14,21 @@ ;;; 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. 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 +;;; 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)) + (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