(:io (values t t sb!unix:o_rdwr))
(:probe (values t nil sb!unix:o_rdonly)))
(declare (type index mask))
- (let* ((pathname (pathname filename))
+ (let* ((pathname (merge-pathnames filename))
(namestring
(cond ((unix-namestring pathname input))
((and input (eq if-does-not-exist :create))
(namestring pathname)))
dir)))
+;;; Set *default-pathname-defaults* to something other than the unix
+;;; cwd, to catch functions which access the filesystem without
+;;; merging properly. We should test more functions than just OPEN
+;;; here, of course
+
+(let ((*default-pathname-defaults*
+ (make-pathname :directory
+ (butlast
+ (pathname-directory *default-pathname-defaults*))
+ :defaults *default-pathname-defaults*)))
+ ;; SBCL 0.7.1.2 failed to merge on OPEN
+ (with-open-file (i "tests/filesys.pure.lisp")
+ (assert i)))
+
+
+
;;; ANSI: FILE-LENGTH should signal an error of type TYPE-ERROR if
;;; STREAM is not a stream associated with a file.
;;;
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.1.42"
+"0.7.1.43"