GNU bug report logs - #5705
23.1.93; recursive load error when loading tramp

Previous Next

Package: emacs;

Reported by: Paul Pogonyshev <p.pogonyshev <at> anakreon.net>

Date: Thu, 11 Mar 2010 14:56:02 UTC

Severity: important

Merged with 1529

Fixed in version 24.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Michael Albinus  <michael.albinus <at> gmx.de>
Cc: 5705 <at> debbugs.gnu.org, Paul Pogonyshev <p.pogonyshev <at> anakreon.net>
Subject: bug#5705: 23.1.93; recursive load error when loading tramp
Date: Thu, 11 Mar 2010 12:36:23 -0500
Paul Pogonyshev <p.pogonyshev <at> anakreon.net> writes:

> Sorry, I tried now with 'emacs -Q' and found a corrected way:
>
>     M-x ido-mode RET           enable ido
>     C-x C-f / /                this makes ido load tramp
>     C-g                        abort loading
>
> You need to be quick to hit C-g while tramp is still loading.  After
> this file opening stops working just as described, at least here.

OK, I see the problem.

If you C-g while Tramp is loading, it leaves Tramp in a half-loaded
state, which screws up all subsequent calls to tramp-tramp-file-p (Lisp
backtrace below).  The eval-after-load in tramp.el seems to be the
culprit.

Michael, could you take a look?




Debugger entered--Lisp error: (error "Recursive load" "/home/cyd/emacs/lisp/net/tramp.elc" "/home/cyd/emacs/lisp/net/tramp-cmds.elc" "/home/cyd/emacs/lisp/net/tramp.elc" "/home/cyd/emacs/lisp/net/tramp-cmds.elc" "/home/cyd/emacs/lisp/net/tramp.elc" "/home/cyd/emacs/lisp/net/tramp-cmds.elc" "/home/cyd/emacs/lisp/net/tramp.elc" "/home/cyd/emacs/lisp/net/tramp-cmds.elc" "/home/cyd/emacs/lisp/net/tramp.elc")
  require(tramp)
  require(tramp-cmds)
  (catch (quote tramp-loading) (require feature) (add-hook (quote tramp-unload-hook) (\` ...)))
  (progn (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (if feature (progn (catch ... ... ...) (unless ... ...)))
  (when feature (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (while --dolist-tail-- (setq feature (car --dolist-tail--)) (when feature (catch ... ... ...) (unless ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- ...) feature) (while --dolist-tail-- (setq feature ...) (when feature ... ...) (setq --dolist-tail-- ...)))
  (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...)))
  eval((dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  eval-after-load("tramp" (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  byte-code("\300\301\302\"\210\303\304\305\"\210\306\307\310\"\210\311\312\313\314\315\316\317\320&\207" [add-hook tramp-unload-hook #[nil "\300\301!\205\n\302\301\303\"\207" [featurep tramp-uu unload-feature force] 3] autoload uudecode-decode-region "uudecode" eval-after-load "tramp" (dolist (feature ...) (when feature ... ...)) custom-declare-group tramp nil "Edit remote files with a combination of rsh and rcp or similar programs." :group files :version "22.1"] 8)
  require(tramp)
  require(tramp-cmds)
  (catch (quote tramp-loading) (require feature) (add-hook (quote tramp-unload-hook) (\` ...)))
  (progn (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (if feature (progn (catch ... ... ...) (unless ... ...)))
  (when feature (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (while --dolist-tail-- (setq feature (car --dolist-tail--)) (when feature (catch ... ... ...) (unless ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- ...) feature) (while --dolist-tail-- (setq feature ...) (when feature ... ...) (setq --dolist-tail-- ...)))
  (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...)))
  eval((dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  eval-after-load("tramp" (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  byte-code("\300\301\302\"\210\303\304\305\"\210\306\307\310\"\210\311\312\313\314\315\316\317\320&\207" [add-hook tramp-unload-hook #[nil "\300\301!\205\n\302\301\303\"\207" [featurep tramp-uu unload-feature force] 3] autoload uudecode-decode-region "uudecode" eval-after-load "tramp" (dolist (feature ...) (when feature ... ...)) custom-declare-group tramp nil "Edit remote files with a combination of rsh and rcp or similar programs." :group files :version "22.1"] 8)
  require(tramp)
  require(tramp-cmds)
  (catch (quote tramp-loading) (require feature) (add-hook (quote tramp-unload-hook) (\` ...)))
  (progn (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (if feature (progn (catch ... ... ...) (unless ... ...)))
  (when feature (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (while --dolist-tail-- (setq feature (car --dolist-tail--)) (when feature (catch ... ... ...) (unless ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- ...) feature) (while --dolist-tail-- (setq feature ...) (when feature ... ...) (setq --dolist-tail-- ...)))
  (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...)))
  eval((dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  eval-after-load("tramp" (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  byte-code("\300\301\302\"\210\303\304\305\"\210\306\307\310\"\210\311\312\313\314\315\316\317\320&\207" [add-hook tramp-unload-hook #[nil "\300\301!\205\n\302\301\303\"\207" [featurep tramp-uu unload-feature force] 3] autoload uudecode-decode-region "uudecode" eval-after-load "tramp" (dolist (feature ...) (when feature ... ...)) custom-declare-group tramp nil "Edit remote files with a combination of rsh and rcp or similar programs." :group files :version "22.1"] 8)
  require(tramp)
  require(tramp-cmds)
  (catch (quote tramp-loading) (require feature) (add-hook (quote tramp-unload-hook) (\` ...)))
  (progn (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (if feature (progn (catch ... ... ...) (unless ... ...)))
  (when feature (catch (quote tramp-loading) (require feature) (add-hook ... ...)) (unless (featurep feature) (message "Loading %s failed, ignoring this package" feature)))
  (while --dolist-tail-- (setq feature (car --dolist-tail--)) (when feature (catch ... ... ...) (unless ... ...)) (setq --dolist-tail-- (cdr --dolist-tail--)))
  (let ((--dolist-tail-- ...) feature) (while --dolist-tail-- (setq feature ...) (when feature ... ...) (setq --dolist-tail-- ...)))
  (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...)))
  eval((dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  eval-after-load("tramp" (dolist (feature (list ... ... ... ... ... ... ...)) (when feature (catch ... ... ...) (unless ... ...))))
  byte-code("\300\301\302\"\210\303\304\305\"\210\306\307\310\"\210\311\312\313\314\315\316\317\320&^G\207" [add-hook tramp-unload-hook #[nil "\300\301!\205\n\302\301\303\"\207" [featurep tramp-uu unload-feature force] 3] autoload uudecode-decode-region "uudecode" eval-after-load "tramp" (dolist (feature ...) (when feature ... ...)) custom-declare-group tramp nil "Edit remote files with a combination of rsh and rcp or similar programs." :group files :version "22.1"] 8)
  tramp-tramp-file-p("/home/cyd/emacs/admin/ChangeLog")
  tramp-find-foreign-file-name-handler("/home/cyd/emacs/admin/ChangeLog")
  tramp-set-auto-save()
  run-hooks(find-file-hook)
  after-find-file(nil t)
  find-file-noselect-1(#<buffer ChangeLog> "~/emacs/admin/ChangeLog" nil nil "~/src/emacs/emacs-23/admin/ChangeLog" (3499012 2054))
  find-file-noselect("/home/cyd/emacs/admin/ChangeLog" nil nil)
  ido-file-internal(raise-frame)
  ido-find-file()
  call-interactively(ido-find-file nil nil)




This bug report was last modified 14 years and 254 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.