Вызов cider-refresh показывает «Не знаю, как сделать локализованную переменную псевдонимом» - PullRequest
0 голосов
/ 05 сентября 2018

Я использую Emacs 25 и CIDER 0.18.0.

Я использую cider-connect для подключения к запущенному процессу nREPL. После подключения при попытке вызвать cider-refresh он отвечает «Не знаю, как сделать локализованную переменную псевдонимом».

Я попытался отладить, установив Emacs для отслеживания функции и просмотрев буферы компиляции байт-кода.

Для загрузки постов в сети используется cider-refresh, поэтому я вполне уверен, что это должно сработать.

Как я могу определить и устранить эту проблему?

1 Ответ

0 голосов
/ 05 сентября 2018

В версии CIDER 0.18.0 функция cider-rename была переименована в cider-ns-rename. Код определяет псевдоним для старой функции, который указывает на новую функцию.

В проекте, над которым я работаю, был файл .dir-locals.el (а также мой файл .emacs), содержащий код, который подключается к старому имени функции:

((nil . ((cider-refresh-before-fn . "integrant.repl/suspend")
         (cider-refresh-after-fn . "integrant.repl/resume"))))

Поскольку они относятся к cider-refresh (который теперь является псевдонимом) вместо cider-ns-refresh, вызов функции завершается неудачно с сообщением об ошибке, упомянутым выше.

Изменение .dir-locals.el и .emacs для обращения к новой функции (например, cider-ns-refresh-before-fn) решило проблему.

...