[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105303: * net/tramp.el (tramp-file-n
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105303: * net/tramp.el (tramp-file-name-handler): Avoid recursive |
Date: |
Fri, 22 Jul 2011 13:04:55 +0200 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105303
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Fri 2011-07-22 13:04:55 +0200
message:
* net/tramp.el (tramp-file-name-handler): Avoid recursive
loading. (Bug#9114)
modified:
lisp/ChangeLog
lisp/net/tramp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-07-21 08:27:44 +0000
+++ b/lisp/ChangeLog 2011-07-22 11:04:55 +0000
@@ -1,3 +1,8 @@
+2011-07-22 Michael Albinus <address@hidden>
+
+ * net/tramp.el (tramp-file-name-handler): Avoid recursive
+ loading. (Bug#9114)
+
2011-07-21 Martin Rudalics <address@hidden>
* window.el (display-buffer-pop-up-window)
=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2011-07-01 09:14:31 +0000
+++ b/lisp/net/tramp.el 2011-07-22 11:04:55 +0000
@@ -1876,7 +1876,17 @@
;; Call the backend function.
(if foreign
(condition-case err
- (apply foreign operation args)
+ (let ((sf (symbol-function foreign)))
+ ;; Some packages set the default directory to a
+ ;; remote path, before respective Tramp packages
+ ;; are already loaded. This results in
+ ;; recursive loading. Therefore, we load the
+ ;; Tramp packages locally.
+ (when (and (listp sf) (eq (car sf) 'autoload))
+ (let ((default-directory
+ (tramp-compat-temporary-file-directory)))
+ (load (cadr sf) 'noerror)))
+ (apply foreign operation args))
;; Trace that somebody has interrupted the operation.
(quit
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105303: * net/tramp.el (tramp-file-name-handler): Avoid recursive,
Michael Albinus <=