如果文件有自动保存数据,emacs-daemon 启动会冻结

发布于 2024-10-16 07:07:54 字数 309 浏览 0 评论 0原文

我设置了 desktop.el 以便 emacs 在启动时自动重新打开上次我杀死 emacs 时保持打开状态的所有文件。

现在,当我将 emacs 作为守护进程启动并且重新打开的文件之一具有自动保存数据时,守护进程会显示通常的自动保存数据消息 ("...文件具有自动保存数据..." )等待确认 - 但不继续初始化。如果没有确认,守护进程将保持在这种状态,并且新连接(例如通过emacsclient -c)被接受但不被处理。

有没有办法在守护进程启动期间禁用确认?

I set up desktop.el so that emacs automatically reopens all files on startup that were left open last time I killed emacs.

Now when I start emacs as a daemon and one of the reopened files has auto-save-data, the daemon displays the usual auto-save-data-message ("...file has auto save data...") and waits for confirmation - but does not continue the initialization. Without confirmation the daemon will stay in this state and new connections (eg via emacsclient -c) are accepted but not processed.

Is there a way to disable confirmations during the daemons startup?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

来日方长 2024-10-23 07:07:54

编辑:更新以匹配 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) 启动服务器进程,但仅“在加载用户的初始化文件并处理所有命令行参数之后”。

edit: Updated to match Zarza's working version:

(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) starts the server process, but only "after loading the user's init file and after processing all command line arguments".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文