Chociaż Emacs (24.3.93.1) działa dobrze, jeśli zostanie uruchomiony z Findera, jeśli wersja terminalu zostanie uruchomiona:
/Applications/Emacs.app/Contents/MacOS/Emacs -nw
Emacs ulega awarii z:
Fatal error 11: Segmentation fault[1] 51512 abort /Applications/Emacs.app/Contents/MacOS/Emacs -nw
.
Wygląda na to, że przyczyną problemu jest pojedyncza linia w init.el,
(set-face-attribute 'default nil :font "Menlo-16")
Jeśli linia ta zostanie skomentowana, terminalowa wersja Emacsa również zacznie działać poprawnie.
Ustalenie przyczyny awarii zajęło mi kilka godzin (zmniejszając mój init.el o pół).
Wiem, że w każdym przypadku Emacs odziedziczy dowolną czcionkę i rozmiar czcionki określony w aplikacji terminalowej (w zasadzie ta linia nie ma znaczenia w cli.)
- Mówiąc ogólnie, czy jest lepszy sposób na debugowanie awarii Emacsa? Być może przy użyciu jakiegoś debugera CLI, który wydrukowałby bardziej opisowy komunikat?
- Dlaczego ta linia powoduje awarię Emacsa przez cli, ale nie jest uruchamiana z Findera?
(condition-case err (set-face-attribute 'default nil :font "Menlo-16") (error (message "Whoops!")))
wciąż mam tę samą awarię z tym samym komunikatem o błędzie. Brak dodatkowych wiadomości pochodzących z elisp.
GNU Emacs 24.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2013-03-13 on bob.porkrind.org
od emacsformacosx.com i Emacs nie psuje. W późniejszych wersjach musi to być błąd. Zgłoszę błąd.
M-x report-emacs-bug
. Programiści Emacsa poprowadzą cię przez to, co możesz zrobić, aby pomóc w debugowaniu problemu.