Mercurial > emacs
comparison lisp/files.el @ 105752:26d5ef08acf0
* files.el (delete-directory): Delete symlinks to directories with
delete-file (Bug#4739).
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 24 Oct 2009 20:30:44 +0000 |
parents | 136cf2d23c90 |
children | db5e4a5897ec |
comparison
equal
deleted
inserted
replaced
105751:70c3773ee524 | 105752:26d5ef08acf0 |
---|---|
4658 (if handler | 4658 (if handler |
4659 (funcall handler 'delete-directory directory recursive) | 4659 (funcall handler 'delete-directory directory recursive) |
4660 (if (and recursive (not (file-symlink-p directory))) | 4660 (if (and recursive (not (file-symlink-p directory))) |
4661 (mapc | 4661 (mapc |
4662 (lambda (file) | 4662 (lambda (file) |
4663 (if (file-directory-p file) | 4663 ;; This test is equivalent to |
4664 ;; (and (file-directory-p fn) (not (file-symlink-p fn))) | |
4665 ;; but more efficient | |
4666 (if (eq t (car (file-attributes file))) | |
4664 (delete-directory file recursive) | 4667 (delete-directory file recursive) |
4665 (delete-file file))) | 4668 (delete-file file))) |
4666 ;; We do not want to delete "." and "..". | 4669 ;; We do not want to delete "." and "..". |
4667 (directory-files | 4670 (directory-files |
4668 directory 'full directory-files-no-dot-files-regexp))) | 4671 directory 'full directory-files-no-dot-files-regexp))) |