0.8.19.36:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 22 Feb 2005 10:34:35 +0000 (10:34 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 22 Feb 2005 10:34:35 +0000 (10:34 +0000)
make FILE-POSITION-FOR-ERROR-OR-NIL understand two-arg FILE-POSITION

src/code/condition.lisp
version.lisp-expr

index e281b2a..f1e6e0d 100644 (file)
@@ -19,7 +19,7 @@
 ;;; generally a PITA, so whatever the failure encountered when
 ;;; wondering about FILE-POSITION within a condition printer, 'tis
 ;;; better silently to give up than to try to complain. 
-(defun file-position-or-nil-for-error (stream)
+(defun file-position-or-nil-for-error (stream &optional (pos nil posp))
   ;; Arguably FILE-POSITION shouldn't be signalling errors at all; but
   ;; "NIL if this cannot be determined" in the ANSI spec doesn't seem
   ;; absolutely unambiguously to prohibit errors when, e.g., STREAM
@@ -29,7 +29,9 @@
   ;; defsystemish operation where the ERROR-STREAM had been CL:CLOSEd,
   ;; I think by nonlocally exiting through a WITH-OPEN-FILE, by the
   ;; time an error was reported.)
-  (ignore-errors (file-position stream)))
+  (if posp
+      (ignore-errors (file-position stream pos))
+      (ignore-errors (file-position stream))))
 \f
 ;;;; the CONDITION class
 
index 5418598..7a54542 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.19.35"
+"0.8.19.36"