7

我与 tramp 和 cygwin-mount 有一个奇怪的交互(我认为:Emacs: Tab completion of file name appends an extra i:\cygwin)。因此,我想禁用流浪汉。我无法在我的 .emacs 中找到任何明确加载 tramp 的内容。当我在查找文件迷你缓冲区中点击一个选项卡时,我可以看到“正在加载流浪汉......”。我想弄清楚是什么包导致了流浪汉的加载并将其禁用。我该怎么做呢?我尝试搜索 (require 'tramp) 但找不到任何有趣的东西。我能想到的唯一其他选择是逐个注释掉我的 .emacs 的一部分,看看哪个有效 - 但这太暴力了,我想要一个更聪明(更简单)的方法。

4

4 回答 4

19

多么棒的问题啊!如果只是因为我不知道该函数(eval-after-load file form)将使您能够编写如下代码并将其放入您的 .emacs 文件中:

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

这将以蛮力形式在您的窗口中吐出回溯并显示有问题的库。

于 2009-11-10T12:36:46.793 回答
3

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

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

('Customize (regexp):' 是来自 emacs 的提示)您将看到列出的两个变量(至少我在 emacs 23 中这样做),类似于:

替代文字

如果您将 tramp-mode 设置为“关闭”,请保存以备将来使用,并重新启动 emacs tramp 不应再加载。我相信您可以在当前会话中将其关闭应该允许您对此进行测试,但这并不总是适用于自定义变量,尽管它应该与标准 emacs 发行版中的 tramp 之类的东西有关。

我不再安装 emacs 22,但类似的东西也应该适用。

于 2009-11-10T14:06:17.573 回答
2

我遇到了类似的流浪汉问题,有一天我在我的系统上发现了“/C:\...\debuglog.txt”。由于该文件,每次我输入“/”时,自动完成都会调用 tramp。流浪汉当然会出错。自动完成正在调用

(expand-file-name ...)

由于当前的文件名处理程序列表,它正在调用tramp。我的解决方案是:

(delete-if
 (lambda (x)
   (or (eq (cdr x) 'tramp-completion-file-name-handler)
       (eq (cdr x) 'tramp-file-name-handler)))
 file-name-handler-alist)
于 2012-04-23T10:08:00.970 回答
1

仪器查找文件进行调试和/或仪器您的初始化文件进行调试。然后,您可以逐步完成装载并查看流浪汉的装载位置。

于 2009-11-10T07:30:55.357 回答