Как предотвратить попадание бродячих мест в историю?

9

У меня есть проблема, когда я пытаюсь выполнить некоторые случайные операции Emacs, такие как org-captureили переименовать файл в другой (локальный) каталог, в котором diredEmacs пытается связаться с другой машиной, используя tramp, предположительно для какого-либо автозаполнения или истории рассуждения. Это вызывает много зависаний и ожиданий, потому что машина, к которой пытается подключиться бродяга, недоступна.

Как я могу запретить Emacs искать файлы / местоположения бродяги, когда я выполняю другие элементарные операции? Как я могу определить, где и как Emacs получает представление о том, что ему нужно искать в удаленном файле / местоположении такие операции, как org-captureи dired-do-rename?

Ли Х
источник
Предполагая, что есть небольшая задержка, прежде чем Emacs начнет связываться с удаленным компьютером, когда вы попытаетесь переименовать файл в Dired, попробуйте нажать C-fсразу после нажатия R. Это помогает?
itjeyd
Поведение, которое вы описываете, не то, которое я когда-либо испытывал. Не могли бы вы привести минимальный пример?
Малабарба
Я испытывал это поведение раньше, но с использованием helm в качестве завершающего чтения. Я не испытываю это с Идо, например.
Гамбо
1
Если вы недавно включили < emacswiki.org/RecentFiles >, он может попытаться подключиться к удаленным компьютерам. В моем файле init.el есть следующее. (setq recentf-exclude '("~$" "/tmp/" "/ssh:" "/sudo:")) Я создал это несколько лет назад. Наличие удаленных файлов в недавнем списке файлов вызывало у меня некоторые проблемы, но я не помню деталей. Возможно, вам придется удалить все удаленные файлы из списка последних файлов вручную. Его местоположение определяется переменной recentf-save-file.
Колин Белл
1
Попробуйте включить debug-on-quit, выполнив M-xtoggle-debug-on-quit, RETа затем нажмите, C-gкогда emacs зависнет. Это напечатало бы трассировку стека, это могло бы помочь отладить проблему
Iqbal Ansari

Ответы:

1

Я подозреваю, что какой-то код срабатывает из-за ловушки или совета, который следует использовать remote-file-pвместо tramp-tramp-file-p. Прочтите документацию по обоим, а затем выполните grep установленных пакетов для последнего символа, заменив его соответствующим образом. Если это решит проблему, начните открывать запросы на извлечение.

Tarsius
источник