aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus2016-07-05 21:16:25 +0200
committerMichael Albinus2016-07-05 21:16:25 +0200
commit1ba6f2c7bbacfda2bb014d30cfb3999146943de8 (patch)
treeac5631c3e163b07bf0e66ad94848b7765d190188 /lisp
parent36e69bd82a0294b1f51d99a5eaf8e2c7661f7a16 (diff)
downloademacs-1ba6f2c7bbacfda2bb014d30cfb3999146943de8.tar.gz
emacs-1ba6f2c7bbacfda2bb014d30cfb3999146943de8.zip
Make all Tramp tests pass for "gdrive" method
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory) * lisp/net/tramp-compat.el (tramp-compat-copy-directory) (tramp-compat-delete-directory): * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory): Use `directory-files-no-dot-files-regexp'. * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-send-command): Call `tramp-flush-file-property' in case of problems. * test/lisp/net/tramp-tests.el (tramp--instrument-test-case): Adapt docstring. (tramp-test14-delete-directory): Make further tests.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/tramp-compat.el17
-rw-r--r--lisp/net/tramp-gvfs.el24
-rw-r--r--lisp/net/tramp-smb.el17
3 files changed, 31 insertions, 27 deletions
diff --git a/lisp/net/tramp-compat.el b/lisp/net/tramp-compat.el
index 0e9fcb501a7..c84fb5ac428 100644
--- a/lisp/net/tramp-compat.el
+++ b/lisp/net/tramp-compat.el
@@ -174,8 +174,7 @@ Add the extension of F, if existing."
174 (tramp-compat-copy-directory file newname keep-time parents) 174 (tramp-compat-copy-directory file newname keep-time parents)
175 (copy-file file newname t keep-time))) 175 (copy-file file newname t keep-time)))
176 ;; We do not want to delete "." and "..". 176 ;; We do not want to delete "." and "..".
177 (directory-files 177 (directory-files directory 'full directory-files-no-dot-files-regexp))
178 directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))
179 178
180 ;; Set directory attributes. 179 ;; Set directory attributes.
181 (set-file-modes newname (file-modes directory)) 180 (set-file-modes newname (file-modes directory))
@@ -209,13 +208,13 @@ Add the extension of F, if existing."
209 ;; implementation from Emacs 23.2. 208 ;; implementation from Emacs 23.2.
210 (wrong-number-of-arguments 209 (wrong-number-of-arguments
211 (setq directory (directory-file-name (expand-file-name directory))) 210 (setq directory (directory-file-name (expand-file-name directory)))
212 (if (not (file-symlink-p directory)) 211 (when (not (file-symlink-p directory))
213 (mapc (lambda (file) 212 (mapc (lambda (file)
214 (if (eq t (car (file-attributes file))) 213 (if (eq t (car (file-attributes file)))
215 (tramp-compat-delete-directory file recursive trash) 214 (tramp-compat-delete-directory file recursive trash)
216 (tramp-compat-delete-file file trash))) 215 (tramp-compat-delete-file file trash)))
217 (directory-files 216 (directory-files
218 directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*"))) 217 directory 'full directory-files-no-dot-files-regexp)))
219 (delete-directory directory)))) 218 (delete-directory directory))))
220 219
221(defun tramp-compat-process-running-p (process-name) 220(defun tramp-compat-process-running-p (process-name)
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 8e7ef0f4079..a22bd89fe90 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -746,14 +746,18 @@ file names."
746 746
747(defun tramp-gvfs-handle-delete-directory (directory &optional recursive trash) 747(defun tramp-gvfs-handle-delete-directory (directory &optional recursive trash)
748 "Like `delete-directory' for Tramp files." 748 "Like `delete-directory' for Tramp files."
749 (when (and recursive (not (file-symlink-p directory)))
750 (mapc (lambda (file)
751 (if (eq t (car (file-attributes file)))
752 (tramp-compat-delete-directory file recursive trash)
753 (tramp-compat-delete-file file trash)))
754 (directory-files
755 directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
756 (with-parsed-tramp-file-name directory nil 749 (with-parsed-tramp-file-name directory nil
750 (if (and recursive (not (file-symlink-p directory)))
751 (mapc (lambda (file)
752 (if (eq t (car (file-attributes file)))
753 (tramp-compat-delete-directory file recursive trash)
754 (tramp-compat-delete-file file trash)))
755 (directory-files
756 directory 'full directory-files-no-dot-files-regexp))
757 (when (directory-files directory nil directory-files-no-dot-files-regexp)
758 (tramp-error
759 v 'file-error "Couldn't delete non-empty %s" directory)))
760
757 (tramp-flush-file-property v (file-name-directory localname)) 761 (tramp-flush-file-property v (file-name-directory localname))
758 (tramp-flush-directory-property v localname) 762 (tramp-flush-directory-property v localname)
759 (unless 763 (unless
@@ -1409,7 +1413,7 @@ ADDRESS can have the form \"xx:xx:xx:xx:xx:xx\" or \"[xx:xx:xx:xx:xx:xx]\"."
1409 signal-name (tramp-gvfs-stringify-dbus-message mount-info)) 1413 signal-name (tramp-gvfs-stringify-dbus-message mount-info))
1410 (tramp-set-file-property v "/" "list-mounts" 'undef) 1414 (tramp-set-file-property v "/" "list-mounts" 'undef)
1411 (if (string-equal (downcase signal-name) "unmounted") 1415 (if (string-equal (downcase signal-name) "unmounted")
1412 (tramp-set-file-property v "/" "fuse-mountpoint" nil) 1416 (tramp-flush-file-property v "/")
1413 ;; Set prefix, mountpoint and location. 1417 ;; Set prefix, mountpoint and location.
1414 (unless (string-equal prefix "/") 1418 (unless (string-equal prefix "/")
1415 (tramp-set-file-property v "/" "prefix" prefix)) 1419 (tramp-set-file-property v "/" "prefix" prefix))
@@ -1701,7 +1705,9 @@ COMMAND is usually a command from the gvfs-* utilities.
1701 (with-current-buffer (tramp-get-connection-buffer vec) 1705 (with-current-buffer (tramp-get-connection-buffer vec)
1702 (tramp-gvfs-maybe-open-connection vec) 1706 (tramp-gvfs-maybe-open-connection vec)
1703 (erase-buffer) 1707 (erase-buffer)
1704 (zerop (apply 'tramp-call-process vec command nil t nil args))))) 1708 (or (zerop (apply 'tramp-call-process vec command nil t nil args))
1709 ;; Remove information about mounted connection.
1710 (and (tramp-flush-file-property vec "/") nil)))))
1705 1711
1706 1712
1707;; D-Bus BLUEZ functions. 1713;; D-Bus BLUEZ functions.
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index a526fd93ab4..1c43ce2f097 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -597,15 +597,14 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
597 "Like `delete-directory' for Tramp files." 597 "Like `delete-directory' for Tramp files."
598 (setq directory (directory-file-name (expand-file-name directory))) 598 (setq directory (directory-file-name (expand-file-name directory)))
599 (when (file-exists-p directory) 599 (when (file-exists-p directory)
600 (if recursive 600 (when recursive
601 (mapc 601 (mapc
602 (lambda (file) 602 (lambda (file)
603 (if (file-directory-p file) 603 (if (file-directory-p file)
604 (delete-directory file recursive) 604 (delete-directory file recursive)
605 (delete-file file))) 605 (delete-file file)))
606 ;; We do not want to delete "." and "..". 606 ;; We do not want to delete "." and "..".
607 (directory-files 607 (directory-files directory 'full directory-files-no-dot-files-regexp)))
608 directory 'full "^\\([^.]\\|\\.\\([^.]\\|\\..\\)\\).*")))
609 608
610 (with-parsed-tramp-file-name directory nil 609 (with-parsed-tramp-file-name directory nil
611 ;; We must also flush the cache of the directory, because 610 ;; We must also flush the cache of the directory, because