Index: /trunk/ccl/lib/macros.lisp
===================================================================
--- /trunk/ccl/lib/macros.lisp	(revision 902)
+++ /trunk/ccl/lib/macros.lisp	(revision 903)
@@ -1251,8 +1251,8 @@
 		    `(make-string-input-stream ,string ,(or start 0) ,end)))))
       ,@decls
-      (unwind-protect
-	   (progn ,@forms)
-	(close ,var)
-	,@(if index `((setf ,index (string-input-stream-index ,var))))))))
+      (multiple-value-prog1 (unwind-protect
+                                 (progn ,@forms)
+                              (close ,var))
+        ,@(if index `((setf ,index (string-input-stream-index ,var))))))))
 
 (defmacro with-output-to-string ((var &optional string &key (element-type 'base-char element-type-p))
