[Openmcl-cvs-notifications] r8537 - /trunk/source/level-1/l1-streams.lisp

gb at clozure.com gb at clozure.com
Thu Feb 21 04:33:41 EST 2008


Author: gb
Date: Thu Feb 21 04:33:41 2008
New Revision: 8537

Log:
STREAM-SURROUNDING-CHARACTERS on STRING-INPUT-STREAM: only if
stream is open.

Modified:
    trunk/source/level-1/l1-streams.lisp

Modified: trunk/source/level-1/l1-streams.lisp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/level-1/l1-streams.lisp (original)
+++ trunk/source/level-1/l1-streams.lisp Thu Feb 21 04:33:41 2008
@@ -4486,12 +4486,13 @@
 =

 =

 (defmethod stream-surrounding-characters ((s string-input-stream))
-  (let* ((ioblock (basic-stream-ioblock s))
-         (start (string-input-stream-ioblock-start ioblock))
-         (idx (string-input-stream-ioblock-index ioblock))
-         (end (string-input-stream-ioblock-end ioblock))
-         (string (string-stream-ioblock-string ioblock)))
-    (subseq string (max (- idx 5) start) (min (+ idx 5) end))))
+  (let* ((ioblock (basic-stream.state s)))
+    (when ioblock
+      (let* ((start (string-input-stream-ioblock-start ioblock))
+             (idx (string-input-stream-ioblock-index ioblock))
+             (end (string-input-stream-ioblock-end ioblock))
+             (string (string-stream-ioblock-string ioblock)))
+        (subseq string (max (- idx 5) start) (min (+ idx 5) end))))))
     =

 =

 (defmethod stream-position ((s string-input-stream) &optional newpos)



More information about the Openmcl-cvs-notifications mailing list