From: Chong Yidong Date: Sat, 24 Oct 2009 20:30:44 +0000 (+0000) Subject: * files.el (delete-directory): Delete symlinks to directories with X-Git-Tag: emacs-pretest-23.1.90~664 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ab276820088305a2e3b94f8f62d42f9c043c5c66;p=emacs.git * files.el (delete-directory): Delete symlinks to directories with delete-file (Bug#4739). --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2b05d3dd6ae..5387cfd080e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-10-24 Sven Joachim + + * files.el (delete-directory): Delete symlinks to directories with + delete-file (Bug#4739). + 2009-10-24 Chong Yidong * cedet/semantic/util.el (semantic-recursive-find-nonterminal-by-name): diff --git a/lisp/files.el b/lisp/files.el index ce9791fdaae..16210bfbadb 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -4660,7 +4660,10 @@ If RECURSIVE is non-nil, all files in DIRECTORY are deleted as well." (if (and recursive (not (file-symlink-p directory))) (mapc (lambda (file) - (if (file-directory-p file) + ;; This test is equivalent to + ;; (and (file-directory-p fn) (not (file-symlink-p fn))) + ;; but more efficient + (if (eq t (car (file-attributes file))) (delete-directory file recursive) (delete-file file))) ;; We do not want to delete "." and "..".