Запуск 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) запускает процесс сервера, но только "после загрузки файла инициализации пользователя и после обработки всех аргументов командной строки".

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