Хотя 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,
(set-face-attribute 'default nil :font "Menlo-16")
Если эта строка закомментирована, терминальная версия Emacs тоже запустится нормально.
Чтобы точно определить причину аварии, мне потребовалось несколько часов (уменьшив мое init.el наполовину).
Я знаю, что в любом случае Emacs будет наследовать любой шрифт и размер шрифта, указанные в терминальном приложении (в основном, эта строка не имеет смысла в cli.)
- Вообще говоря, есть ли лучший способ отладить сбой Emacs? Возможно, используя какой-нибудь отладчик cli, который выводит более описательное сообщение?
- Почему эта строка разрушает Emacs через cli, но не запускается из Finder?
(condition-case err (set-face-attribute 'default nil :font "Menlo-16") (error (message "Whoops!")))
но у меня та же ошибка с тем же сообщением об ошибке. Никаких дополнительных сообщений, генерирующих elisp.
GNU Emacs 24.3.1 (x86_64-apple-darwin, NS apple-appkit-1038.36) of 2013-03-13 on bob.porkrind.org
от emacsformacosx.com , и Emacs не откажет. Таким образом, это должно быть ошибкой в более поздних версиях. Я подам отчет об ошибке.
M-x report-emacs-bug
. Затем разработчики Emacs проведут вас через то, что вы можете сделать, чтобы помочь отладить проблему.