Changeset 12503 for trunk/abcl/src/org/armedbear/lisp/directory.lisp
- Timestamp:
- 02/22/10 16:32:45 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/directory.lisp
r12502 r12503 54 54 (entries (list-directory newpath))) 55 55 (if (not wild) 56 entries (mapcan (lambda (entry) 57 (let* ((pathname (pathname entry)) 58 (directory (pathname-directory pathname)) 59 (rest-wild (cdr wild))) 60 (unless (pathname-name pathname) 61 (when (pathname-match-p (first (last directory)) (if (eql (car wild) :wild) "*" (car wild))) 62 (when rest-wild 63 (setf directory (nconc directory rest-wild))) 64 (list-directories-with-wildcards 65 (make-pathname :directory directory 66 :defaults newpath)))))) 67 entries)))) 56 entries 57 (mapcan (lambda (entry) 58 (let* ((pathname (pathname entry)) 59 (directory (pathname-directory pathname)) 60 (rest-wild (cdr wild))) 61 (unless (pathname-name pathname) 62 (when (pathname-match-p (first (last directory)) 63 (if (eql (car wild) :wild) "*" (car wild))) 64 (when rest-wild 65 (setf directory (nconc directory rest-wild))) 66 (list-directories-with-wildcards 67 (make-pathname :directory directory 68 :defaults newpath)))))) 69 entries)))) 68 70 69 71 … … 74 76 (if (or (position #\* (namestring pathname)) 75 77 (wild-pathname-p pathname)) 76 (let ((namestring (directory-namestring pathname))) 77 (when (and namestring (> (length namestring) 0)) 78 (when (featurep :windows) 79 (let ((device (pathname-device pathname))) 80 (when device 81 (setq namestring (concatenate 'string device ":" namestring))))) 82 (let ((entries (list-directories-with-wildcards namestring)) 83 (matching-entries ())) 84 (dolist (entry entries) 85 (cond ((file-directory-p entry) 86 (when (pathname-match-p (file-namestring (pathname-as-file entry)) (file-namestring pathname)) 87 (push entry matching-entries))) 88 ((pathname-match-p (file-namestring entry) (file-namestring pathname)) 89 (push entry matching-entries)))) 90 matching-entries))) 78 (if (pathname-jar-p pathname) 79 (match-wild-jar-pathname pathname) 80 (let ((namestring (directory-namestring pathname))) 81 (when (and namestring (> (length namestring) 0)) 82 (when (featurep :windows) 83 (let ((device (pathname-device pathname))) 84 (when device 85 (setq namestring (concatenate 'string device ":" namestring))))) 86 (let ((entries (list-directories-with-wildcards namestring)) 87 (matching-entries ())) 88 (dolist (entry entries) 89 (cond ((file-directory-p entry) 90 (when (pathname-match-p (file-namestring (pathname-as-file entry)) (file-namestring pathname)) 91 (push entry matching-entries))) 92 ((pathname-match-p (file-namestring entry) (file-namestring pathname)) 93 (push entry matching-entries)))) 94 matching-entries)))) 91 95 ;; Not wild. 92 96 (let ((truename (probe-file pathname)))
Note: See TracChangeset
for help on using the changeset viewer.