Commit cc3dda16 authored by Michael Albinus's avatar Michael Albinus
Browse files

* net/tramp-smb.el (tramp-smb-errors): Add error message for

connection timeout.
(tramp-smb-handle-delete-directory): Handle optional parameter
RECURSIVE.
parent 93776a8c
2009-10-01 Michael Albinus <michael.albinus@gmx.de>
* files.el (delete-directory): New defun. The original function
in fileio.c has been renamed to `delete-directory-internal'.
* dired.el (dired-delete-file): Call `delete-directory' with
RECURSIVE parameter.
* net/ange-ftp.el (ange-ftp-delete-directory ): Add optional
parameter RECURSIVE. Implementation is missing.
* net/tramp.el (tramp-handle-make-directory): Flush upper
directory's file properties.
(tramp-handle-delete-directory): Handle optional parameter
RECURSIVE.
(tramp-handle-dired-recursive-delete-directory): Flush directory
properties after the remove command only.
* net/tramp-fish.el (tramp-fish-handle-delete-directory): Handle
optional parameter RECURSIVE.
* net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Handle
optional parameter RECURSIVE.
* net/tramp-smb.el (tramp-smb-errors): Add error message for
connection timeout.
(tramp-smb-handle-delete-directory): Handle optional parameter
RECURSIVE.
2009-10-01 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/bytecomp.el (byte-compile-defmacro-declaration): New fun.
......
......@@ -87,6 +87,7 @@
"NT_STATUS_ACCOUNT_LOCKED_OUT"
"NT_STATUS_BAD_NETWORK_NAME"
"NT_STATUS_CANNOT_DELETE"
"NT_STATUS_CONNECTION_REFUSED"
"NT_STATUS_DIRECTORY_NOT_EMPTY"
"NT_STATUS_DUPLICATE_NAME"
"NT_STATUS_FILE_IS_A_DIRECTORY"
......@@ -248,10 +249,19 @@ PRESERVE-UID-GID is completely ignored."
v 0 "Copying file %s to file %s...done" filename newname)
(tramp-error v 'file-error "Cannot copy `%s'" filename)))))))
(defun tramp-smb-handle-delete-directory (directory)
(defun tramp-smb-handle-delete-directory (directory &optional recursive)
"Like `delete-directory' for Tramp files."
(setq directory (directory-file-name (expand-file-name directory)))
(when (file-exists-p directory)
(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 nil
;; We must also flush the cache of the directory, because
;; file-attributes reads the values from there.
......
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