]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp-smb.el (tramp-smb-errors): Add error message for
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 1 Oct 2009 15:40:59 +0000 (15:40 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 1 Oct 2009 15:40:59 +0000 (15:40 +0000)
connection timeout.
(tramp-smb-handle-delete-directory): Handle optional parameter
RECURSIVE.

lisp/ChangeLog
lisp/net/tramp-smb.el

index 9e87539ab6950d0a4e1a01e0c9e5e29e2d0c59e2..3bfd9c70ff4613fe7ad55c19bd642c2f15ad13de 100644 (file)
@@ -1,3 +1,32 @@
+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.
index 549001db75a9c9d1f54e85648acbb8078382672e..54835efe2267f624f385381f640b0c63ef411670 100644 (file)
@@ -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.