changeset 104143:49b412e99f1e

* net/tramp.el (top): Make check for tramp-gvfs loading more robust. (tramp-handle-insert-file-contents): `unwind-protect' must be inside `with-parsed-tramp-file-name'.
author Michael Albinus <michael.albinus@gmx.de>
date Tue, 04 Aug 2009 03:31:51 +0000
parents 488fbd6258f7
children f60678899ee6
files lisp/net/tramp.el
diffstat 1 files changed, 20 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/net/tramp.el	Tue Aug 04 03:29:54 2009 +0000
+++ b/lisp/net/tramp.el	Tue Aug 04 03:31:51 2009 +0000
@@ -143,6 +143,9 @@
 	 ;; tramp-gvfs needs D-Bus messages.  Available since Emacs 23
 	 ;; on some system types.
 	 (when (and (featurep 'dbusbind)
+		    (condition-case nil
+			(funcall 'dbus-get-unique-name :session)
+		      (error nil))
 		    (tramp-compat-process-running-p "gvfs-fuse-daemon"))
 	   'tramp-gvfs)
 
@@ -4213,9 +4216,8 @@
   (barf-if-buffer-read-only)
   (setq filename (expand-file-name filename))
   (let (coding-system-used result local-copy remote-copy)
-    (unwind-protect
-	(with-parsed-tramp-file-name filename nil
-
+    (with-parsed-tramp-file-name filename nil
+      (unwind-protect
 	  (if (not (file-exists-p filename))
 	      ;; We don't raise a Tramp error, because it might be
 	      ;; suppressed, like in `find-file-noselect-1'.
@@ -4286,20 +4288,20 @@
 	      (tramp-message
 	       v 4 "Inserting local temp file `%s'...done" local-copy)
 	      (when (boundp 'last-coding-system-used)
-		(set 'last-coding-system-used coding-system-used)))))
-
-      ;; Save exit.
-      (progn
-	(when visit
-	  (setq buffer-file-name filename)
-	  (setq buffer-read-only (not (file-writable-p filename)))
-	  (set-visited-file-modtime)
-	  (set-buffer-modified-p nil))
-	(when (stringp local-copy)
-	  (delete-file local-copy))
-	(when (stringp remote-copy)
-	  (delete-file
-	   (tramp-make-tramp-file-name method user host remote-copy)))))
+		(set 'last-coding-system-used coding-system-used))))
+
+	;; Save exit.
+	(progn
+	  (when visit
+	    (setq buffer-file-name filename)
+	    (setq buffer-read-only (not (file-writable-p filename)))
+	    (set-visited-file-modtime)
+	    (set-buffer-modified-p nil))
+	  (when (stringp local-copy)
+	    (delete-file local-copy))
+	  (when (stringp remote-copy)
+	    (delete-file
+	     (tramp-make-tramp-file-name method user host remote-copy))))))
 
     ;; Result.
     (list (expand-file-name filename)
@@ -4919,7 +4921,7 @@
 	    (cons jka (delete jka file-name-handler-alist))))))
 
 ;; During autoload, it shall be checked whether
-;; `partial-completion-mode' is active.  Therefore registering of
+;; `partial-completion-mode' is active.  Therefore, registering of
 ;; `tramp-completion-file-name-handler' will be delayed.
 ;;;###autoload(add-hook
 ;;;###autoload 'after-init-hook