Назад | Перейти на главную страницу

Сократить время ожидания Emacs для чтения ~ / .emacs

Мой ~/.emacs файл запуска хранится в моем домашнем каталоге AFS. Часто, когда я вхожу в систему с Linux, я забываю обновить свои учетные данные AFS, прежде чем пытаться редактировать локальный (не AFS) файл с помощью Emacs.

Когда это произойдет, Emacs попытается загрузить ~./emacs но не могу, потому что он находится в пространстве AFS, к которому у меня нет доступа. В конце концов (примерно через минуту) Emacs откажется от попыток загрузить ~./emacs и продолжаем. Но ожидание истечения времени ожидания Emacs раздражает (нажатие Ctrl-Z не прерывает этот тайм-аут).

Я хочу сократить время ожидания Emacs перед тем, как сдаться. Я попробовал это предложение на этот сайт который говорит, что нужно поместить следующий код в site-start.el файл:

(with-timeout (4)
 (load remote-.emacs))

Однако когда я это сделаю, я получаю сообщение об ошибке Error in init file: Symbol's value as variable is void: remote-\.emacs при запуске Emacs.

Как я могу сократить время ожидания?

Ваш пример не работает, потому что удаленный .emacs не цитируется. Это будет работать:

(с таймаутом (4)
(загрузить "remote-.emacs"))

Однако из emacs docs:

... таймеры могут работать в программе на Лиспе только тогда, когда программа вызывает примитив, который может ждать, with-timeout не может остановить выполнение тела, пока он находится в процессе вычисления ...

Я предполагаю, что emacs заблокирован вашей ОС, ожидающей тайм-аута для удаленного файла через AFS. Таким образом, я подозреваю, что установка тайм-аута в emacs может не иметь никакого эффекта.