Невозможно байтово скомпилировать пакет Emacs в Mac OS

2

Я пытаюсь включить режим прогнозирования в AUCTex. Я скачал и добавил следующую конфигурацию в мой .emacsфайл: ( "~/path/predictive"указывает на каталог, в который я положил пакет).

(add-to-list 'load-path "~/path/predictive")
(autoload 'predictive-mode "predictive" "predictive" t)
(set-default 'predictive-auto-add-to-dict t)
(setq predictive-main-dict 'rpg-dictionary
      predictive-auto-learn t
      predictive-add-to-dict-ask nil
      predictive-use-auto-learn-cache nil
      predictive-which-dict t)

(add-to-list 'load-path "~/path/predictive/latex")
(add-to-list 'load-path "~/path/predictive/texinfo")

Когда я пытаюсь включить его, я получаю следующее сообщение об ошибке:

Warning (emacs): Predictive major-mode setup function predictive-setup-latex failed; latex-mode support disabled

После нескольких поисков в Google, я обнаружил, что мне нужно скомпилировать пакет. Однако, когда я пытаюсь это сделать, я получаю следующую ошибку:

In toplevel form:
completion-ui-dynamic.el:31:1:Error: Wrong type argument: listp, cons
make: *** [completion-ui-dynamic.elc] Error 1

Я использую Aquamacs в Mac OS Sierra.

Лео-Т
источник
Я скачал / клонировал прогностический режим, используя git, а затем запустил make в терминале, и у меня была та же ошибка. Рассмотрите возможность отправки отчета об ошибке сопровождающему пакета. Еще один фактор, который следует учитывать, - это вызов файла make, emacsкоторый является устаревшей версией /usr/bin, поставляемой с OSX. Попробуйте добавить эту сложность в свой отчет об ошибках.
юрист

Ответы:

2

Emacs 22.1.1, который поставляется с macOS Sierra не может компилироваться predictive-mode. Я смог скомпилировать его, указав Makefile на Emacs 25.1.1, установленный на MacPorts :

sed -i.orig -e 's|= emacs|= /opt/local/bin/emacs|' Makefile

make cleanПеред компиляцией с Emacs 25.1.1 требовался A, чтобы удалить испорченные .elcфайлы, сгенерированные Emacs 22.1.1.

левосторонний
источник
1

Я столкнулся с этой же проблемой при установке режима прогнозирования в ОС High Sierra.

Emacs, который я на самом деле использую, это emacs для Mac OSX, который является автономным приложением. Я не использую emacs, который поставляется с macOS. Я не уверен, почему я это сделал, только мне показалось, что это самый подходящий маршрут, когда я хотел использовать emacs в моей системе.

Я обычно нахожу все свои пакеты на MELPA, так что это был новый процесс для меня.

Мое решение:

После распаковки архива с http://www.dr-qubit.org/predictive.html я открыл make-файл, расположенный в папке, и изменил строку emacs на

EMACS = /Applications/Emacs.app/Contents/MacOS/Emacs

Затем я запустил make installсквозной терминал, находясь в папке предикторов. Он успешно установил, а также напечатал в окне необходимые строки, которые я должен добавить в свой .emacsфайл. Он даже настроил эти строки в соответствии с моим каталогом установки для моих компьютеров / username.

Надеюсь, это поможет кому-то в будущем.

Изменить: Дополнительная заметка :

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

midnightGreen
источник