ambrevar/shell: Add delete-empty-directory-upward.

master
Pierre Neidhardt 2020-11-18 11:44:46 +01:00
parent d84761789b
commit fdaeb32b90
1 changed files with 10 additions and 0 deletions

View File

@ -83,6 +83,16 @@ Without PREDICATES, list all files."
(let ((*finder-include-directories* nil))
(apply #'walk root predicates)))
(export-always 'delete-empty-directory-upward)
(defun delete-empty-directory-upward (directory)
"Delete directory and its parents until non-empty.
Return the first non-deleted directory."
(or (and (ignore-errors (uiop:delete-empty-directory directory))
(delete-directory-upward
(uiop:pathname-parent-directory-pathname
(uiop:ensure-directory-pathname directory))))
directory))
(export-always 'make-directory)
(defun make-directory (path)
"Including parents."