Сократить время ожидания 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.

Как я могу сократить этот тайм-аут?

1 ответ

Ваш пример терпит неудачу, потому что remote-.emacs не указан в кавычках. Это будет работать:

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

Однако из документации по emacs:

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

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

Другие вопросы по тегам