[version 0.12.0 ediware**20070907050014] { hunk ./CHANGELOG 1 +Version 0.12.0 +2007-09-07 +Added "bound" for flexi input streams + hunk ./doc/index.html 85 +
flexi-stream-bound
hunk ./doc/index.html 224
-current version is 0.11.2.
+current version is 0.12.0.
hunk ./doc/index.html 252
++A Mercurial +repository of older versions is available +at http://arcanes.fr.eu.org/~pierre/2007/02/weitz/ +thanks to Pierre Thierry. hunk ./doc/index.html 290 +
+If you want to send patches, please read this first.
hunk ./doc/index.html 623
+You can also set the bound of an
+input flexi stream. Initially it is NIL
, but when it's
+an integer and the
+stream's position has gone beyond
+this bound, the stream will behave as if no more input is available.
+
hunk ./doc/index.html 665
-
make-flexi-stream stream &key external-format element-type column position => flexi-stream
+
make-flexi-stream stream &key external-format element-type column position bound => flexi-stream
hunk ./doc/index.html 668
-Creates and returns a flexi stream, i.e. an object of type FLEXI-STREAM
. stream
is the underlying Lisp stream. external-format
is the initial external format to be used by the stream, the default is the value of evaluating (MAKE-EXTERNAL-FORMAT :LATIN1)
. element-type
is the initial element type of the flexi stream the default of which is LW:SIMPLE-CHAR
for LispWorks and CHARACTER
otherwise. column
is the initial column of the stream and should only be provided for output streams, the default is 0
. position
is the initial octet position of the stream and should only be provided for input streams, the default is 0
. See the section about flexi streams for more information.
+Creates and returns a flexi stream, i.e. an object of type FLEXI-STREAM
. stream
is the underlying Lisp stream. external-format
is the initial external format to be used by the stream, the default is the value of evaluating (MAKE-EXTERNAL-FORMAT :LATIN1)
. element-type
is the initial element type of the flexi stream the default of which is LW:SIMPLE-CHAR
for LispWorks and CHARACTER
otherwise. column
is the initial column of the stream and should only be provided for output streams, the default is 0
. position
is the initial octet position of the stream and must only be provided for input streams, the default is 0
. bound
should be NIL
(the default) or an integer and must only be provided for input streams. If the octet position of the stream has gone beyond this bound, the stream will behave as if no more input is available. See the section about flexi streams for more information.
hunk ./doc/index.html 676
-
flexi-stream-column flexi-stream => column
-
(setf (flexi-stream-column flexi-stream) column)
-
flexi-stream-position flexi-stream => position
-
(setf (flexi-stream-position flexi-stream) position)
+
flexi-stream-column flexi-output-stream => column
+
(setf (flexi-stream-column flexi-output-stream) column)
+
flexi-stream-position flexi-input-stream => position
+
(setf (flexi-stream-position flexi-input-stream) position)
+
flexi-stream-bound flexi-input-stream => bound
+
(setf (flexi-stream-bound flexi-input-stream) bound)
hunk ./doc/index.html 1040
-$Header: /usr/local/cvsrep/flexi-streams/doc/index.html,v 1.91 2007/04/05 23:43:25 edi Exp $
+$Header: /usr/local/cvsrep/flexi-streams/doc/index.html,v 1.94 2007/09/06 23:19:26 edi Exp $
hunk ./flexi-streams.asd 2
-;;; $Header: /usr/local/cvsrep/flexi-streams/flexi-streams.asd,v 1.54 2007/04/05 23:43:23 edi Exp $
+;;; $Header: /usr/local/cvsrep/flexi-streams/flexi-streams.asd,v 1.55 2007/09/06 23:19:23 edi Exp $
hunk ./flexi-streams.asd 38
- :version "0.11.2"
+ :version "0.12.0"
hunk ./input.lisp 2
-;;; $Header: /usr/local/cvsrep/flexi-streams/input.lisp,v 1.47 2007/03/22 21:40:11 edi Exp $
+;;; $Header: /usr/local/cvsrep/flexi-streams/input.lisp,v 1.48 2007/09/06 23:19:24 edi Exp $
hunk ./input.lisp 42
+ (bound flexi-stream-bound)
hunk ./input.lisp 46
- (declare (integer position))
+ (declare (integer position)
+ (type (or null integer) bound))
+ (when (and bound
+ (>= position bound))
+ (return-from read-byte* nil))
hunk ./input.lisp 63
+ (bound flexi-stream-bound)
hunk ./input.lisp 67
- (declare (integer position))
+ (declare (integer position)
+ (type (or null integer) bound))
+ (when (and bound
+ (>= position bound))
+ (return-from read-byte* nil))
hunk ./input.lisp 90
+ (bound flexi-stream-bound)
hunk ./input.lisp 94
- (declare (integer position))
+ (declare (integer position)
+ (type (or null integer) bound))
+ (when (and bound
+ (>= position bound))
+ (return-from read-byte* nil))
hunk ./input.lisp 117
-but first check if \(old) input is available in the OCTET-STACK
+but first checks if \(old) input is available in the OCTET-STACK
hunk ./input.lisp 120
- (with-accessors ((octet-stack flexi-stream-octet-stack)
+ (with-accessors ((position flexi-stream-position)
+ (bound flexi-stream-bound)
+ (octet-stack flexi-stream-octet-stack)
hunk ./input.lisp 125
+ (when (and bound
+ (>= position bound))
+ (return-from stream-listen nil))
hunk ./packages.lisp 2
-;;; $Header: /usr/local/cvsrep/flexi-streams/packages.lisp,v 1.27 2007/03/09 01:14:27 edi Exp $
+;;; $Header: /usr/local/cvsrep/flexi-streams/packages.lisp,v 1.28 2007/09/06 23:19:24 edi Exp $
hunk ./packages.lisp 52
+ :flexi-stream-bound
hunk ./specials.lisp 2
-;;; $Header: /usr/local/cvsrep/flexi-streams/specials.lisp,v 1.23 2007/03/22 21:40:11 edi Exp $
+;;; $Header: /usr/local/cvsrep/flexi-streams/specials.lisp,v 1.24 2007/09/05 11:30:23 edi Exp $
hunk ./specials.lisp 164
+
+(pushnew :flexi-streams *features*)
hunk ./stream.lisp 2
-;;; $Header: /usr/local/cvsrep/flexi-streams/stream.lisp,v 1.48 2007/01/01 23:46:49 edi Exp $
+;;; $Header: /usr/local/cvsrep/flexi-streams/stream.lisp,v 1.49 2007/09/06 23:19:24 edi Exp $
hunk ./stream.lisp 203
-octet read counts as one."))
+octet read counts as one.")
+ (bound :initform nil
+ :initarg :bound
+ :type (or null integer)
+ :accessor flexi-stream-bound
+ :documentation "When this is not NIL, it must be an integer
+and the stream will behave as if no more data is available as soon as
+POSITION is greater or equal than this value."))
hunk ./stream.lisp 696
- element-type column position)
+ element-type column position bound)
hunk ./stream.lisp 709
-increased by one for each octet read."
+increased by one for each octet read. BOUND \(only used for input
+streams) should be NIL or an integer. If BOUND is not NIL and
+POSITION has gone beyond BOUND, then the stream will behave as if no
+more input is available."
hunk ./stream.lisp 715
- (declare (ignore element-type column position))
+ (declare (ignore element-type column position bound))
}