Работа Emacs в новых версиях MacOS

#emacs #macos

После обновления MacOS возникла проблема в работе Emacs. При попытке открыть некоторые директории, вроде Documents, через find-files или dired получал ошибку:

Listing directory failed but ‘access-file’ worked

Проблема в том, что в новых версиях добавили новые функции безопасности. И для того, чтобы программное обеспечение могло полноценно работать с файловой системе, ему необходимо предоставить определенные права.

Переходим в секцию Защита и безопасность в системных настройках и выбираем вкладку Конфиденциальность. Тут в Доступ к диску необходимо авторизоваться и добавить Emacs.app в список.

emacs.png

Вроде все просто, но как оказалось, предоставление прав Emacs просто не достаточно и ошибка сохраняется. Проблема заключается в том, что Emacs.app по сути это ruby-скрипт, который проводит запуск. И для того, чтобы доступ к диску работал, необходимо ruby предоставить полный доступ к диску.

Как и в случае с Emacs.app, проводим добавление /usr/bin/ruby в список Доступ к диску. После чего проблема уходит.