# HG changeset patch # User Michael Albinus # Date 1249356711 0 # Node ID 49b412e99f1efe3dec0ddc1e8846b128f2486102 # Parent 488fbd6258f73760609b5a94ae14350aaa4f271c * 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'. diff -r 488fbd6258f7 -r 49b412e99f1e lisp/net/tramp.el --- 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