From aa0a8561bb79265b7e525f62a0a5e04221f78e15 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sun, 26 Dec 2004 23:33:51 +0000 Subject: Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-750 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-78 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-79 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-80 Update from CVS 2004-12-22 Katsumi Yamaoka * lisp/gnus/gnus-spec.el (gnus-spec-tab): Make a Lisp form which works correctly even if there are wide characters. 2004-12-21 Katsumi Yamaoka * lisp/gnus/rfc2231.el (rfc2231-parse-string): Decode encoded value after concatenating segments rather than before concatenating them. Suggested by ARISAWA Akihiro . 2004-12-17 Katsumi Yamaoka * lisp/gnus/mm-util.el (mm-xemacs-find-mime-charset): New macro. 2004-12-17 Aidan Kehoe * lisp/gnus/mm-util.el (mm-xemacs-find-mime-charset-1): New function used to unify Latin characters in XEmacs. (mm-find-mime-charset-region): Use it. 2004-12-17 Katsumi Yamaoka * lisp/gnus/gnus-util.el (gnus-delete-directory): New function. * lisp/gnus/gnus-agent.el (gnus-agent-delete-group): Use it. * lisp/gnus/gnus-cache.el (gnus-cache-delete-group): Use it. --- lisp/gnus/gnus-util.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'lisp/gnus/gnus-util.el') diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index d9952fd8cdc..91e087f05d5 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -708,6 +708,23 @@ Bind `print-quoted' and `print-readably' to t, and `print-length' and (when (file-exists-p file) (delete-file file))) +(defun gnus-delete-directory (directory) + "Delete files in DIRECTORY. Subdirectories remain. +If there's no subdirectory, delete DIRECTORY as well." + (when (file-directory-p directory) + (let ((files (directory-files + directory t "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")) + file dir) + (while files + (setq file (pop files)) + (if (eq t (car (file-attributes file))) + ;; `file' is a subdirectory. + (setq dir t) + ;; `file' is a file or a symlink. + (delete-file file))) + (unless dir + (delete-directory directory))))) + (defun gnus-strip-whitespace (string) "Return STRING stripped of all whitespace." (while (string-match "[\r\n\t ]+" string) -- cgit v1.2.3