X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=io.lisp;fp=io.lisp;h=4dea295f5e789d6dacb1c2eb86fe99c155d71487;hp=68a6bc23cd9a8ab956d6f19ebc3db815d0870f61;hb=6f333885c716800cf85c2986a3b835efe0e54e70;hpb=7a56e80af4ea21b8fd1c7dea0e4f701f40662ed7 diff --git a/io.lisp b/io.lisp index 68a6bc2..4dea295 100644 --- a/io.lisp +++ b/io.lisp @@ -191,40 +191,6 @@ (open-device-stream #p"/dev/null" :output)) ) -(defun un-unspecific (value) - "Convert :UNSPECIFIC to NIL." - (if (eq value :unspecific) nil value)) - -(defun canonicalize-directory-name (filename) - (flet ((un-unspecific (value) - (if (eq value :unspecific) nil value))) - (let* ((path (pathname filename)) - (name (un-unspecific (pathname-name path))) - (type (un-unspecific (pathname-type path))) - (new-dir - (cond ((and name type) (list (concatenate 'string name "." type))) - (name (list name)) - (type (list type)) - (t nil)))) - (if new-dir - (make-pathname - :directory (append (un-unspecific (pathname-directory path)) - new-dir) - :name nil :type nil :version nil :defaults path) - path)))) - -(defun probe-directory (filename) - (let ((path (canonicalize-directory-name filename))) - #+allegro (excl:probe-directory path) - #+clisp (values - (ignore-errors - (#+lisp=cl ext:probe-directory #-lisp=cl lisp:probe-directory - path))) - #+(or cmu scl) (eq :directory (unix:unix-file-kind (namestring path))) - #+lispworks (lw:file-directory-p path) - #+sbcl (eq :directory (sb-unix:unix-file-kind (namestring path))) - #-(or allegro clisp cmu lispworks sbcl scl) - (probe-file path))) (defun directory-tree (filename) "Returns a tree of pathnames for sub-directories of a directory"