diff options
| author | Michael Albinus <michael.albinus@gmx.de> | 2009-10-01 15:40:59 +0000 |
|---|---|---|
| committer | Michael Albinus <michael.albinus@gmx.de> | 2009-10-01 15:40:59 +0000 |
| commit | cc3dda16b935c45d482bb3a9797c70627ab17696 (patch) | |
| tree | f02a083752f58e12920333782bbbe1be8a47bbe1 /lisp/net/tramp-smb.el | |
| parent | 93776a8c4a41889218bba1e270504590f303a1d4 (diff) | |
| download | emacs-cc3dda16b935c45d482bb3a9797c70627ab17696.tar.gz | |
* net/tramp-smb.el (tramp-smb-errors): Add error message for
connection timeout.
(tramp-smb-handle-delete-directory): Handle optional parameter
RECURSIVE.
Diffstat (limited to 'lisp/net/tramp-smb.el')
| -rw-r--r-- | lisp/net/tramp-smb.el | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 549001db75a..54835efe226 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -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. |
