Ошибка Emacs, когда я вызываю его в терминале

Я только что установил emacs на своем MacBook Pro, но когда я произвел "emacs" на моем терминале, я получаю такой тип ошибки:

Emacs-x86_64-10_10 [5647: 247335] Не удалось инициализировать unarchiver списка цветов: Error Domain = NSCocoaErrorDomain Code = 4864 " * - [NSKeyedUnarchiver _initForReadingFromData: error: throwLegacyExceptions:]: неблокированный архив не может быть расшифрован NSKeyedUnarchiver" UserInfo = { NSDebugDescription = * - [NSKeyedUnarchiver _initForReadingFromData: error: throwLegacyExceptions:]: неблокированный архив не может быть расшифрован NSKeyedUnarchiver}

Затем emacs открывается правильно, но я не могу скомпилировать файлы из-за этой ошибки.

Ответ 1

Это известная ошибка для Emacs на MacOS Mojave. Очевидно, Emacs использовал устаревший и теперь удаленный API. Вы можете следить за темой в списке рассылки "emacs-devel".

Изменить 25 июля 2010 г.:

Поскольку кажется, что люди все еще задаются этим вопросом, патчи для этой проблемы были перенесены в ветку emacs-26 с пятницы, 28 сентября 2018 года. Будет работать последняя версия Emacs 26 (или выше) из источника или https://emacsformacosx.com/. Если вы только что обновились и все еще получаете ошибку/сбой с последними Emacs, удалите ~/Library/Colors/Emacs.clr и перезапустите ваш новый Emacs. Emacs воссоздает не поврежденную версию этого файла , как описано здесь.

Ответ 2

Очевидно, проблему, упомянутую здесь, можно исправить, просто удалив

~/Library/Colors/Emacs.clr

Этот файл будет воссоздан при следующем запуске Emacs

ОБНОВЛЕНИЕ: когда вы перезагрузите хотя, он снова появляется

Ответ 3

Спасибо, @Фабрицио-Миано. Мне не хватает репутации, чтобы комментировать ваш ответ, но он направил меня в правильном направлении. Я смог подавить эту ошибку с помощью простой однострочной строки, добавленной в конец моего init.el. Для тех, кто заинтересован, я просто добавил:

(delete-file "~/Library/Colors/Emacs.clr")

Для чего бы это ни стоило, я поместил это в оператор progn, чтобы это происходило после загрузки моей темы. Я не уверен, что это имеет значение, но это казалось логичным. Возможно, это не идеальное решение, но лучше, чем ждать, пока что-то рассортируется в ветке emacs-26.