В Emacs, как мне определить, какой пакет загружает бродягу? - PullRequest
7 голосов
/ 10 ноября 2009

У меня странное взаимодействие с tramp и cygwin-mount (я думаю: Emacs: Закладка имени файла после добавления добавляет дополнительный i: \ cygwin ). Из-за этого я хочу отключить бродягу. Я не могу найти ничего в моем .emacs, который явно загружает tramp. Я вижу сообщение «Загрузка бродяги ...», когда нажимаю на вкладку в минибуфере файла поиска. Я хотел бы выяснить, какой пакет вызывает загрузку бродяги и отключить это. Как мне это сделать? Я пытался найти (требовать 'бродяги), но не смог найти ничего интересного. Единственный другой вариант, который я могу придумать, - это закомментировать кусочки моего .emacs один за другим и посмотреть, какой из них работает - но это так грубо, я бы хотел более умный (и более простой) способ. *

Ответы [ 4 ]

19 голосов
/ 10 ноября 2009

Какой замечательный вопрос! Хотя бы потому, что я не знал о функции (форма файла eval-after-load), которая позволит вам написать код, подобный следующему, и поместить его в ваш файл .emacs:

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

Который, в форме грубой силы, извергнет след в вашем окне и откроет библиотеку-нарушителя.

3 голосов
/ 10 ноября 2009

Я думаю, вы обнаружите, что бродяга включен по умолчанию. Если вы делаете:

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

('Customize (regexp):' это приглашение от emacs) вы увидите две переменные в списке (по крайней мере, я это сделал в emacs 23), что-то вроде:

alt text

Если вы установили tramp-mode на 'off', сохраните для будущих сессий и перезапустите emacs tramp больше не должен загружаться. Я полагаю, что вы можете просто отключить его в текущем сеансе, что позволит вам проверить это, но это не всегда работает с настройкой переменных, хотя это должно происходить с чем-то вроде tramp, который является частью стандартного дистрибутива emacs.

У меня больше не установлено emacs 22, но что-то подобное должно работать и для этого.

2 голосов
/ 23 апреля 2012

У меня была похожая проблема с бродягой, когда однажды я обнаружил "/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)
1 голос
/ 10 ноября 2009

Инструмент поиска файлов для отладки и / или инструмент вашего файла инициализации для отладки. Затем вы можете пройти через загрузку и посмотреть, куда загружается бродяга.

...