On Apr 3, 2011, at 8:34 AM, Michael Albinus wrote: > Perry Smith writes: > >> How do I track down why its getting loaded? I've grep'ed all my files >> in .emacs.d and its not there. It must be some other package I'm >> using which is loading it. > > Eval after Emacs' startup > > (setq debug-on-quit t) > > When Tramp asks you for the password, enter "^G". This should produce a > backtrace, which might tell us the reason why Tramp is invoked. Sigh! Finally. If anyone is interested: I tried the "advice" but for some reason, the advice didn't trigger when Tramp is loaded. I assume that is because it is getting autoloaded which doesn't use load? The ^G didn't give much of a clue. The stack I got was: > Debugger entered--entering a function: > * tramp-file-name-handler(file-name-as-directory "/pedz@risc:") > file-name-as-directory("/pedz@risc:") > apply(file-name-as-directory "/pedz@risc:") > tramp-completion-run-real-handler(file-name-as-directory ("/pedz@risc:")) > tramp-completion-file-name-handler(file-name-as-directory "/pedz@risc:") > file-name-as-directory("/pedz@risc:") > cd-absolute("/pedz@risc:") > byte-code("\304=\203\305 \306\n\307\260\310 !\207?\206\310 \311P!\207" [rlogin-directory-tracking-mode rlogin-remote-user rlogin-host comint-file-name-prefix t "/" "@" ":" cd-absolute "~/"] 5) > rlogin("risc -l pedz" nil) > call-interactively(rlogin t nil) > execute-extended-command(nil) > call-interactively(execute-extended-command nil nil) But why was tramp loaded in the first place? So, I ended up removing the rlogin.elc and the tramp.elc and added (debug-on-entry 'tramp-register-file-name-handlers) just after it was defined. I didn't that a couple of different ways and got the same stack (below). The stack seems like it left off the initial N frames. > (if (comint-check-proc buffer-name) nil (comint-exec buffer buffer-name rlogin-program nil args) (rlogin-mode) (make-local-variable (quote rlogin-host)) (setq rlogin-host host) (make-local-variable (quote rlogin-remote-user)) (setq rlogin-remote-user user) (condition-case nil (cond ... ... ...) (error nil))) > (unless (comint-check-proc buffer-name) (comint-exec buffer buffer-name rlogin-program nil args) (rlogin-mode) (make-local-variable (quote rlogin-host)) (setq rlogin-host host) (make-local-variable (quote rlogin-remote-user)) (setq rlogin-remote-user user) (condition-case nil (cond ... ... ...) (error nil))) > (let* ((process-connection-type rlogin-process-connection-type) (args ...) (host ...) (user ...) (buffer-name ...)) (cond (...) (... ...) (... ...) (... ...) (t ...)) (setq buffer (get-buffer-create buffer-name)) (pop-to-buffer buffer-name) (unless (comint-check-proc buffer-name) (comint-exec buffer buffer-name rlogin-program nil args) (rlogin-mode) (make-local-variable ...) (setq rlogin-host host) (make-local-variable ...) (setq rlogin-remote-user user) (condition-case nil ... ...))) > rlogin("risc -l pedz" nil) > call-interactively(rlogin t nil) > execute-extended-command(nil) > call-interactively(execute-extended-command nil nil) But I finally figured out that it was because rlogin-directory-tracking-mode was set. I found that set in one of my older init files. So, I cleared that. That solved the initial problem of starting emacs and immediately doing the rlogin. But I also have ido set and I was sure that it called tramp too. So, I triggered ido to load tramp and found that there is ido-enable-tramp-completion. I think I'm not tramp-less :-) Thanks guys. pedz