Запуск emacs-daemon зависает, если в файле есть данные для автоматического сохранения
Я настроил desktop.el так, чтобы при запуске emacs автоматически открывал все файлы, которые оставались открытыми в прошлый раз, когда я убивал emacs.
Теперь, когда я запускаю emacs в качестве демона, и у одного из вновь открытых файлов есть автосохранение данных, демон отображает обычное сообщение автосохранения данных ("...file has auto save data...")
и ожидает подтверждения - но не продолжает инициализацию. Без подтверждения демон будет оставаться в этом состоянии и новые соединения (например, через emacsclient -c
) принимаются, но не обрабатываются.
Есть ли способ отключить подтверждения при запуске демонов?
1 ответ
Редактировать: Обновлено, чтобы соответствовать рабочей версии Zarza:
(defadvice desktop-restore-file-buffer
(around my-desktop-restore-file-buffer-advice)
"Be non-interactive while starting a daemon."
(if (and (daemonp)
(not server-process))
(let ((noninteractive t))
ad-do-it)
ad-do-it))
(ad-activate 'desktop-restore-file-buffer)
(command-line)
запускает процесс сервера, но только "после загрузки файла инициализации пользователя и после обработки всех аргументов командной строки".