Как я могу скомпилировать расширение Emacs elisp (nXhtml)? - PullRequest
1 голос
/ 23 февраля 2011

Я новичок в Emacs, и недавно я установил расширение nXhtml. Как я могу скомпилировать расширение?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2011

Предположение: вы установили xhtml из репозитория bazaar на панели запуска с помощью bzr branch lp:nxhtml.

Теперь ответ: файл README.txt только что сообщил нам

Note 3: You may optionally also byte compile nXhtml from the nXhtml
    menu (recommended).

Добавить (load "~/.emacs.d/nxhtml/autostart.el") на ваш .emacs, затем M-x eval-buffer, активируйте режим и, как только в вашем меню появится пункт nXhtml, просто просмотрите nXhtml → nXhtml Help and Setup → Byte compile nXhtml.

Et voilà!

1 голос
/ 17 сентября 2011

В целом, для расширений, таких как nxhtml, которые имеют много файлов .el и, возможно, подкаталогов, вы обычно хотели бы использовать byte-recompile-directory:

byte-Recompile-directory - это интерактивная скомпилированная функция Lisp в `Bytecomp.el».

(byte -compile-directory BYTECOMP-DIRECTORY и необязательный BYTECOMP-ARG BYTECOMP-FORCE)

Перекомпилируйте каждый .el' file in BYTECOMP-DIRECTORY that needs recompilation. This happens when a .elc 'файл, который существует, но он старше, чем файл .el. Файлы в подкаталогах BYTECOMP-DIRECTORY также обрабатываются.

Если файл .elc' file does not exist, normally this function *does not* compile the corresponding .el '. Тем не менее, если префикс аргумента BYTECOMP-ARG равен 0, это означает, что все эти файлы компилируются. Ненулевой BYTECOMP-ARG означает запрашивать у пользователя, для каждого такого файла .el, скомпилируйте это. Ненулевой BYTECOMP-ARG также означает, спрашивать о каждом подкаталоге перед сканированием.

Если третий аргумент BYTECOMP-FORCE не равен nil, перекомпилируйте каждый .el' file that already has a .elc 'файл.

  • , чтобы обновить все существующие, но устаревшие файлы .elc:
    М-х byte-recompile-directory RET (путь к nxhtml) RET
  • и перекомпилировать все файлы .el без запроса подтверждения:
    M-0 M-x byte-recompile-directory RET (путь к nxhtml) RET

Чтобы прочитать о префиксных аргументах:
M -: (info "(emacs) Arguments") RET )

Вам также может понравиться использование подобных ELPA (не применимо в данном случае) или el-get (то есть) для установки и обслуживания пакетов, так как они позаботься обо всей компиляции и автозагрузках.

1 голос
/ 23 февраля 2011

Обычно вам не нужно компилировать расширения emacs. Вы обычно включаете что-то вроде

(load "YOUR-PATH-TO/nxhtml/autostart")

в ваш .emacs.

Однако, если вы действительно хотите скомпилировать ваш файл, вы можете сделать это, используя функцию byte-compile-file (через M-x byte-compile-file).

...