+2011-07-22 Michael Albinus <michael.albinus@gmx.de>
+
+ * net/tramp.el (tramp-file-name-handler): Avoid recursive
+ loading. (Bug#9114)
+
2011-07-21 Martin Rudalics <rudalics@gmx.at>
* window.el (display-buffer-pop-up-window)
;; 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