X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/blobdiff_plain/dea4d05507e59ab779ed4bb209e05971d87e260c..bf090e021a5c20da452a4841cdfb8eb78e29544e:/src/parser/impl-scanner-charbuf.lisp diff --git a/src/parser/impl-scanner-charbuf.lisp b/src/parser/impl-scanner-charbuf.lisp index aaa1b5a..2d7a4ae 100644 --- a/src/parser/impl-scanner-charbuf.lisp +++ b/src/parser/impl-scanner-charbuf.lisp @@ -85,7 +85,7 @@ (defclass charbuf-scanner (character-scanner) (unread :initform nil :type (or charbuf-chain-link nil)) (filename :initarg :filename :type (or string null) :reader scanner-filename) - (line :initarg line :initform 1 :type fixnum :reader scanner-line) + (line :initarg :line :initform 1 :type fixnum :reader scanner-line) (column :initarg :column :initform 0 :type fixnum :reader scanner-column)) (:documentation "An efficient rewindable scanner for character streams. @@ -395,6 +395,9 @@ (export 'charbuf-scanner-stream) (defclass charbuf-scanner-stream (character-scanner-stream) ((scanner :initarg :scanner :type charbuf-scanner))) +(defmethod make-scanner-stream ((scanner charbuf-scanner)) + (make-instance 'charbuf-scanner-stream :scanner scanner)) + (defmethod stream-read-sequence ((stream charbuf-scanner-stream) (seq string) &optional (start 0) end) (with-slots (scanner) stream