mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-20 10:23:57 +00:00
* net/tramp-compat.el (tramp-compat-delete-directory): Implement
TRASH argument.
This commit is contained in:
parent
2054a6c311
commit
11f4d68f25
@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user