2009-11-10 50 views
7

我与tramp和cygwin-mount有一个奇怪的交互(我认为:Emacs: Tab completion of file name appends an extra i:\cygwin)。正因为如此,我想禁用流浪汉。我无法在明确加载tramp的.emacs中找到任何内容。当我点击find-file minibuffer中的一个标签时,我可以看到“Loading tramp ...”。我想弄清楚是什么包导致加载tramp并禁用它。我如何去做这件事?我尝试搜索(需要'流浪汉'),但找不到任何有趣的东西。我唯一能想到的另一个选择是逐个注释我的.emacs的部分内容,并查看哪一个可行 - 但这非常暴力,我想要一个更聪明(更简单)的方法。在Emacs中,我如何确定哪个软件包正在加载流氓软件?

回答

18

真是个好问题!如果只是因为我不知道该功能的(EVAL-后负荷文件形式),这将使你写如下代码,并把它放在你的.emacs文件:

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

哪样,在野蛮强制形式,在你的窗口中呕吐回溯并揭示违规图书馆。

+0

整洁的诡计,爱它! – paprika 2009-11-10 12:44:39

+0

我也不知道这两者,似乎正是Rhith寻找的东西 – Friedrich 2009-11-11 05:06:53

+0

真棒,pajato0。这真的帮助我缩小了问题范围,至少为我节省了一天的时间。另外我学到了更多关于emac的知识也讨价还价!谢谢大家的所有答案和帮助。 – Rohith 2009-11-11 08:55:43

1

仪器查找文件用于调试和/或仪器的init文件进行调试。然后,您可以逐步完成加载并查看加载了流浪汉的东西。

+0

这看起来像我想要做的 - 但我不知道如何做到这一点。你能给我一些细节吗?我做了一些搜索仪器的emacs代码进行调试,看起来你是在暗示我使用edebug-defun - 这是正确的吗?从看tramp.el,它看起来不像流浪汉有一个我可以测试的入口点函数。考虑到我是emacs新手,一些更多的细节会非常有用。 – Rohith 2009-11-10 07:56:08

+1

我认为pajato0已经不重要了。不过,我已经写或盗用了以下代码: (defun find-symbol-at-point() “找到函数或变量的来源。“ (interactive) (或(find-function-at-point) (find-variable-at-point))) 我把它绑定到F5,现在我只是去一个函数类型F5,被定义了然后我只是将这个函数用于调试 – Friedrich 2009-11-11 05:09:09

+0

将一个符号当作* *函数*或*变量来处理时要小心一点,因为给定的符号实际上可以是两者(通常在模式中可以观察到的东西)。你的'find-symbol-at-point'永远不会注意到这些实例中的变量定义。 – phils 2011-10-03 22:13:31

3

我想你会发现默认打开tramp。如果你这样做:

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

( '自定义(正则表达式):' 是从emacs的提示),你会看到列出两个变量(至少我在Emacs 23做),这样的:

alt text

如果您将tramp-mode设置为'off',则保存以备未来会话,并且不应再加载emacs tramp。我相信你可以在当前会话中关闭它,但应该允许你测试它,但这并不总是适用于自定义变量,尽管它应该像标准emacs发行版中的tramp一样。

我没有再安装emacs 22,但类似的东西也应该可以工作。

2

我有一个与流浪汉类似的问题,当有一天,我发现我的系统上的“/C:\...\debuglog.txt” 。 由于该文件,自动完成每次调用tramp 我输入“/”。而流浪汉当然会给出一个错误。 自动完成打电话

(expand-file-name ...) 

其中,因为当前的文件名处理程序,ALIST的,打电话流浪汉。 我的解决方案是:

(delete-if 
(lambda (x) 
    (or (eq (cdr x) 'tramp-completion-file-name-handler) 
     (eq (cdr x) 'tramp-file-name-handler))) 
file-name-handler-alist) 
+0

这解决了我的问题(使用tramp后,我不能再点击gnus中的超链接)。应用此修复程序后,我还没有尝试过流氓。记住你必须先例如'(需要'cl')。 – 2012-09-22 08:35:42