X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Freader.lisp;h=e6652f3e144cc2d8f647a92465ebd4addb57f54c;hb=89f3ce96b6c5d0b80308be2a8145aefe80fe1e9b;hp=6f042923347384611206da9d14a7fc304f209d90;hpb=51ef2fb078c9a3b2e4aba3d105906a2adc6810b6;p=sbcl.git diff --git a/src/code/reader.lisp b/src/code/reader.lisp index 6f04292..e6652f3 100644 --- a/src/code/reader.lisp +++ b/src/code/reader.lisp @@ -440,15 +440,11 @@ standard Lisp readtable when NIL." ;;;; implementation of the read buffer (defvar *read-buffer*) -(defvar *read-buffer-length*) -;;; FIXME: Is it really helpful to have *READ-BUFFER-LENGTH* be a -;;; separate variable instead of just calculating it on the fly as -;;; (LENGTH *READ-BUFFER*)? (defvar *inch-ptr*) ; *OUCH-PTR* always points to next char to write. (defvar *ouch-ptr*) ; *INCH-PTR* always points to next char to read. -(declaim (type index *read-buffer-length* *inch-ptr* *ouch-ptr*)) +(declaim (type index *inch-ptr* *ouch-ptr*)) (declaim (type (simple-array character (*)) *read-buffer*)) (declaim (inline reset-read-buffer)) @@ -460,7 +456,7 @@ standard Lisp readtable when NIL." (declaim (inline ouch-read-buffer)) (defun ouch-read-buffer (char) ;; When buffer overflow - (when (>= *ouch-ptr* *read-buffer-length*) + (when (>= *ouch-ptr* (length *read-buffer*)) ;; Size should be doubled. (grow-read-buffer)) (setf (elt *read-buffer* *ouch-ptr*) char) @@ -470,8 +466,7 @@ standard Lisp readtable when NIL." (let* ((rbl (length *read-buffer*)) (new-length (* 2 rbl)) (new-buffer (make-string new-length))) - (setq *read-buffer* (replace new-buffer *read-buffer*)) - (setq *read-buffer-length* new-length))) + (setq *read-buffer* (replace new-buffer *read-buffer*)))) (defun inch-read-buffer () (if (>= *inch-ptr* *ouch-ptr*) @@ -494,7 +489,6 @@ standard Lisp readtable when NIL." (defmacro with-read-buffer (() &body body) `(let* ((*read-buffer* (make-string 128)) - (*read-buffer-length* 128) (*ouch-ptr* 0) (*inch-ptr* 0)) ,@body)) @@ -502,7 +496,6 @@ standard Lisp readtable when NIL." (declaim (inline read-buffer-boundp)) (defun read-buffer-boundp () (and (boundp '*read-buffer*) - (boundp '*read-buffer-length*) (boundp '*ouch-ptr*) (boundp '*inch-ptr*)))