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)))