Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Emacs, how do I figure out which package is loading tramp?

Tags:

emacs

elisp

tramp

I have a strange interaction with tramp and cygwin-mount (I think: Emacs: Tab completion of file name appends an extra i:\cygwin). Because of this, I want to disable tramp. I'm unable to find anything in my .emacs which is loading tramp explicitly. I can see "Loading tramp..." when I hit a tab in the find-file minibuffer. I'd like to figure out what package is causing the loading of tramp and disable that. How do I go about doing this? I tried searching for (require 'tramp) but couldn't find anything interesting. The only other option I can think of is to comment out bits of my .emacs one-by-one and see which one works - but this is so brute-force, I'd like a cleverer (and easier) way.

like image 704
Rohith Avatar asked Nov 10 '09 07:11

Rohith


2 Answers

What a great question! If only because I was not aware of the function (eval-after-load file form) which will enable you to write code like the following and put it in your .emacs file:

(eval-after-load "tramp"
  '(debug))

Which will, in brute force form, vomit a backtrace in your window and reveal the offending library.

like image 67
pajato0 Avatar answered Sep 30 '22 18:09

pajato0


I think you'll find that tramp is turned on by default. If you do:

M-x customize-apropos
Customize (regexp): tramp

('Customize (regexp):' is the prompt from emacs) you'll see two variables listed (at least I do in emacs 23), something like:

alt text

If you set tramp-mode to 'off', save for future sessions, and restart emacs tramp should no longer be loaded. I believe you can just turning it off in the current session should allow you to test this, but this doesn't always work with customize variables, although it should do with something like tramp that is part of the standard emacs distribution.

I don't have emacs 22 installed any more, but something similar should work for that too.

like image 40
Peter Hart Avatar answered Sep 30 '22 19:09

Peter Hart