# HG changeset patch # User Michael Albinus # Date 1254411335 0 # Node ID f92b20f3ef80b4b3834b59f05e98e7e54907ba57 # Parent 4eaec3ddca1cf5af85c894b322dbf1360c52182a * net/tramp-fish.el (tramp-fish-handle-delete-directory): Handle optional parameter RECURSIVE. diff -r 4eaec3ddca1c -r f92b20f3ef80 lisp/net/tramp-fish.el --- a/lisp/net/tramp-fish.el Thu Oct 01 15:34:56 2009 +0000 +++ b/lisp/net/tramp-fish.el Thu Oct 01 15:35:35 2009 +0000 @@ -312,10 +312,19 @@ (tramp-fish-do-copy-or-rename-file 'copy filename newname ok-if-already-exists keep-date preserve-uid-gid)) -(defun tramp-fish-handle-delete-directory (directory) +(defun tramp-fish-handle-delete-directory (directory &optional recursive) "Like `delete-directory' for Tramp files." (when (file-exists-p directory) - (with-parsed-tramp-file-name + (if recursive + (mapc + (lambda (file) + (if (file-directory-p file) + (delete-directory file recursive) + (delete-file file))) + ;; We do not want to delete "." and "..". + (directory-files + directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) + (with-parsed-tramp-file-name (directory-file-name (expand-file-name directory)) nil (tramp-flush-directory-property v localname) (tramp-fish-send-command-and-check v (format "#RMD %s" localname)))))