Emacs(24.3.93.1)は、Finderから起動すると問題なく動作しますが、ターミナルバージョンを起動すると、次のようになります。
/Applications/Emacs.app/Contents/MacOS/Emacs -nw
Emacsは次のようにクラッシュします:
Fatal error 11: Segmentation fault[1] 51512 abort /Applications/Emacs.app/Contents/MacOS/Emacs -nw
。
問題はinit.elの1行によって引き起こされているようです。
(set-face-attribute 'default nil :font "Menlo-16")
その行がコメント化されている場合、Emacsのターミナルバージョンも正常に起動します。
クラッシュの原因を特定するのに数時間かかりました(init.elが半分ずつ減少しました)。
Emacsは、ターミナルアプリで指定されたフォントとフォントサイズを継承します(基本的に、この行はCLIでは意味がありません)。
- 一般的に言えば、クラッシュするEmacsをデバッグするより良い方法はありますか?おそらく、より説明的なメッセージを出力するようなある種のcliデバッガーを使用していますか?
- その行がcliを介してEmacsをクラッシュさせるのに、Finderから起動したのではないのはなぜですか?
(condition-case err (set-face-attribute 'default nil :font "Menlo-16") (error (message "Whoops!")))
んが、同じエラーメッセージで同じクラッシュが発生します。追加のelisp-originatingメッセージはありません。
M-x report-emacs-bug
。Emacs開発者は、問題のデバッグを支援するためにできることを案内します。