diff --git a/code/fd-stream.lisp b/code/fd-stream.lisp index 3fd2202c704c88a0aa2b187aadcc2e78dfde4820..544de10a0804486a9e0aa34a8d07ba3fc259e9ed 100644 --- a/code/fd-stream.lisp +++ b/code/fd-stream.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.28 1993/08/04 10:39:03 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/fd-stream.lisp,v 1.29 1993/08/04 12:23:30 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -991,14 +991,7 @@ non-server method is also significantly more efficient for large reads. nil (truncate (the index size) (fd-stream-element-size stream))))) (:file-position - (fd-stream-file-position stream arg1)) - (:file-name - (cond (arg1 - (setf (fd-stream-pathname stream) arg1) - (setf (fd-stream-file stream) (unix-namestring arg1 nil)) - t) - (t - (fd-stream-pathname stream)))))) + (fd-stream-file-position stream arg1)))) ;;; FD-STREAM-FILE-POSITION -- internal. @@ -1449,7 +1442,14 @@ non-server method is also significantly more efficient for large reads. ;;; stuff to get and set the file name. ;;; (defun file-name (stream &optional new-name) - (funcall (stream-misc stream) stream :file-name new-name)) + (when (typep stream 'fd-stream) + (cond (arg1 + (setf (fd-stream-pathname stream) arg1) + (setf (fd-stream-file stream) (unix-namestring arg1 nil)) + t) + (t + (fd-stream-pathname stream))))) + ;;;; Degenerate international character support: