Commit c44f2e69 authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.7.23:

	Fix some OPEN tests
	... :DIRECTION :IO didn't work if the file didn't exist, despite
		default being :CREATE
	... adjust filesys test to cope with new disallowed
		:WILD-INFERIORS :UP
	... we still fail some OPEN tests in PFD's suite: some are because
		of not supporting (unsigned-byte 33) streams, while the
		rest are because DIRECTORY is broken on logical pathnames,
		*sigh*
parent 696e38f7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2283,6 +2283,8 @@ changes in sbcl-0.8.8 relative to sbcl-0.8.7:
    ** Attempting to use standardized file system operators with a
       pathname with invalid :DIRECTORY components signals a
       FILE-ERROR.
    ** OPEN :DIRECTION :IO no longer fails to work on non-existent
       files.

planned incompatible changes in 0.8.x:
  * (not done yet, but planned:) When the profiling interface settles
+2 −0
Original line number Diff line number Diff line
@@ -473,6 +473,8 @@
    (declare (type sb-int:index mask))
    (let ((name (cond ((sb-int:unix-namestring pathname input))
		      ((and input (eq if-does-not-exist :create))
		       (sb-int:unix-namestring pathname nil))
		      ((and (eq direction :io) (not if-does-not-exist-given))
		       (sb-int:unix-namestring pathname nil)))))
      ;; Process if-exists argument if we are doing any output.
      (cond (output
+2 −0
Original line number Diff line number Diff line
@@ -1106,6 +1106,8 @@
	   (namestring
	    (cond ((unix-namestring pathname input))
		  ((and input (eq if-does-not-exist :create))
		   (unix-namestring pathname nil))
		  ((and (eq direction :io) (not if-does-not-exist-given))
		   (unix-namestring pathname nil)))))
      ;; Process if-exists argument if we are doing any output.
      (cond (output
+2 −0
Original line number Diff line number Diff line
@@ -177,11 +177,13 @@ Lisp filename syntax idiosyncrasies)."
    (need-match "animal/vertebrate/**/*.*" vertebrates)
    (need-match "animal/vertebrate/mammal/../**/*.*" vertebrates)
    (need-match "animal/vertebrate/mammal/../**/**/*.*" vertebrates)
    #+nil
    (need-match "animal/vertebrate/mammal/mythical/../**/../**/*.*"
		vertebrates))
  (need-match "animal/vertebrate/**/robot.*" nil)
  (need-match "animal/vertebrate/mammal/../**/*.robot" nil)
  (need-match "animal/vertebrate/mammal/../**/robot/*.*" nil)
  #+nil
  (need-match "animal/vertebrate/mammal/robot/../**/../**/*.*" nil))
(need-matches)
(sb-ext:quit :unix-status 52)
+11 −0
Original line number Diff line number Diff line
@@ -93,5 +93,16 @@
  (with-open-file (s p)
    (assert (string= (read-line s) "THESE INSERTMBOLS")))
  (delete-file p))

;;; :DIRECTION :IO didn't work on non-existent pathnames
(let ((p "direction-io-test"))
  (ignore-errors (delete-file p))
  (with-open-file (s p :direction :io)
    (format s "1")
    (finish-output s)
    (file-position s :start)
    (assert (char= (read-char s) #\1)))
  (delete-file p))

;;; success
(quit :unix-status 104)
Loading