私はデーモンモードでemacsを使用しており、initial-buffer-choice
変数セットも持っています。に使用するファイルを編集しているときに、emacs がクラッシュすることがありますinitial-buffer-choice
。この場合、--daemon を指定して emacs を起動すると、次のメッセージが表示されてハングします。
"todo.org has auto save data; consider M-x recover-this-file"
ほとんどの場合、init スクリプトからデーモンを起動するため、このダイアログを確認または拒否することはできず、デーモンは永久にハングします。この場合、自動保存データの通知をバイパスするにはどうすればよいですか? 必要に応じてオートセーブデータが失われてもかまいません。
これが私の試みでした:
(defadvice command-line
(around my-command-line-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 'command-line)
ただし、これは機能しません。私はまだ同じハング動作を取得します。実際、アドバイス内に「メッセージ」呼び出しを入れると、アドバイスがまったく呼び出されないことがわかります。
同様の質問:ファイルに自動保存データがある場合、emacs-daemon の起動がフリーズします。ただし、このソリューションは では機能しませんinitial-buffer-choice
。受け入れられた回答は、私が試みたようにアドバイスを正常に定義した可能性のある以前のバージョンから編集されたcommand-line
ようですが、残念ながらこのバージョンはなくなり、desktop.el 固有のバージョンに置き換えられました。