Commit 11f4d68f authored by Michael Albinus's avatar Michael Albinus

* net/tramp-compat.el (tramp-compat-delete-directory): Implement

TRASH argument.
parent 2054a6c3
2013-03-05 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-compat.el (tramp-compat-delete-directory): Implement
TRASH argument.
2013-03-05 Dmitry Gutov <dgutov@yandex.ru>
Keep pre-existing highlighting in completion candidates (Bug#13250).
......
......@@ -384,25 +384,30 @@ Not actually used. Use `(format \"%o\" i)' instead?"
trash)))
(delete-file filename)))))
;; RECURSIVE has been introduced with Emacs 23.2.
(defun tramp-compat-delete-directory (directory &optional recursive)
;; RECURSIVE has been introduced with Emacs 23.2. TRASH has been
;; introduced with Emacs 24.1.
(defun tramp-compat-delete-directory (directory &optional recursive trash)
"Like `delete-directory' for Tramp files (compat function)."
(if (null recursive)
(delete-directory directory)
(condition-case nil
(tramp-compat-funcall 'delete-directory directory recursive)
;; This Emacs version does not support the RECURSIVE flag. We
;; use the implementation from Emacs 23.2.
(wrong-number-of-arguments
(setq directory (directory-file-name (expand-file-name directory)))
(if (not (file-symlink-p directory))
(mapc (lambda (file)
(if (eq t (car (file-attributes file)))
(tramp-compat-delete-directory file recursive)
(delete-file file)))
(directory-files
directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
(delete-directory directory)))))
(condition-case nil
(cond
(trash
(tramp-compat-funcall 'delete-directory directory recursive trash))
(recursive
(tramp-compat-funcall 'delete-directory directory recursive))
(t
(delete-directory directory)))
;; This Emacs version does not support the RECURSIVE or TRASH flag. We
;; use the implementation from Emacs 23.2.
(wrong-number-of-arguments
(setq directory (directory-file-name (expand-file-name directory)))
(if (not (file-symlink-p directory))
(mapc (lambda (file)
(if (eq t (car (file-attributes file)))
(tramp-compat-delete-directory file recursive trash)
(tramp-compat-delete-file file trash)))
(directory-files
directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
(delete-directory directory))))
;; `number-sequence' does not exist in XEmacs. Implementation is
;; taken from Emacs 23.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment