emacs-daemon startup freezes if file has auto-save data
Asked Answered
T

1

6

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?

Turn answered 8/2, 2011 at 12:42 Comment(0)
E
2

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".

Enwind answered 9/2, 2011 at 3:1 Comment(1)
Thank you Phils, that helped me a lot! I had to change the advice target to make it work, because the suggested function desktop-read is wrapped with (unless noninteractive.... I changed it to desktop-restore-file-buffer: (defadvice desktop-restore-file-buffer (around my-desktop-restore-file-buffer-advice) (if (and (daemonp) (not server-process)) (let ((noninteractive t)) ad-do-it) ad-do-it) ) (ad-activate 'desktop-restore-file-buffer)Turn

© 2022 - 2024 — McMap. All rights reserved.