Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
-
0a51daf2
by Raymond Toy at 2025-01-01T04:58:21+00:00
-
fbe6f2d6
by Raymond Toy at 2025-01-01T04:58:21+00:00
2 changed files:
Changes:
... | ... | @@ -721,7 +721,7 @@ |
721 | 721 | verify-existence follow-links
|
722 | 722 | nil function))
|
723 | 723 | (:relative
|
724 | - (%enumerate-directories "" (cdr directory) pathname
|
|
724 | + (%enumerate-directories "./" (cdr directory) pathname
|
|
725 | 725 | verify-existence follow-links
|
726 | 726 | nil function)))
|
727 | 727 | (%enumerate-files "" pathname verify-existence function))))
|
... | ... | @@ -1110,11 +1110,6 @@ optionally keeping some of the most recent old versions." |
1110 | 1110 | :pathname file
|
1111 | 1111 | :format-control (intl:gettext "~S doesn't exist.")
|
1112 | 1112 | :format-arguments (list file)))
|
1113 | - ;; unix-namestring converts "." to "". Convert it back to
|
|
1114 | - ;; "." so we can stat the current directory. (Perhaps
|
|
1115 | - ;; that's a bug in unix-namestring?)
|
|
1116 | - (when (zerop (length name))
|
|
1117 | - (setf name "."))
|
|
1118 | 1113 | (let (author)
|
1119 | 1114 | (unwind-protect
|
1120 | 1115 | (progn
|
... | ... | @@ -707,6 +707,33 @@ |
707 | 707 | ".txt")
|
708 | 708 | *test-path*))))
|
709 | 709 | |
710 | +(define-test issue.135
|
|
711 | + (:tag :issues)
|
|
712 | + (assert-equalp "./" (ext:unix-namestring "."))
|
|
713 | + (unwind-protect
|
|
714 | + (progn
|
|
715 | + ;; Create a test file in the current directory.
|
|
716 | + ;; unix-namestring requires files to exist to be able to
|
|
717 | + ;; return the namestring.
|
|
718 | + (with-open-file (f1 "foo.txt"
|
|
719 | + :direction :output
|
|
720 | + :if-exists :supersede)
|
|
721 | + (print "foo" f1))
|
|
722 | + ;; Check unix-namestring and verify that converting the
|
|
723 | + ;; namestring to a pathname results in the same pathname
|
|
724 | + ;; object as expected.
|
|
725 | + (let ((foo (ext:unix-namestring "foo.txt")))
|
|
726 | + (assert-equalp "foo.txt" foo)
|
|
727 | + (assert-equalp (make-pathname :name "foo" :type "txt")
|
|
728 | + (pathname foo)))
|
|
729 | + (let ((bar (ext:unix-namestring "src/code/filesys.lisp")))
|
|
730 | + (assert-equalp "./src/code/filesys.lisp" bar)
|
|
731 | + (assert-equalp (make-pathname :directory '(:relative "src" "code")
|
|
732 | + :name "filesys"
|
|
733 | + :type "lisp")
|
|
734 | + (pathname bar))))
|
|
735 | + (assert-true (delete-file "foo.txt"))))
|
|
736 | + |
|
710 | 737 | (define-test issue.139-default-external-format
|
711 | 738 | (:tag :issues)
|
712 | 739 | (assert-eq :utf-8 stream:*default-external-format*)
|