如何编译Emacs elisp扩展(nXhtml)?

时间:2011-02-23 16:49:47

标签: emacs compilation elisp

我是Emacs的新手,最近我安装了nXhtml扩展程序。我该如何编译扩展名?

3 个答案:

答案 0 :(得分:2)

假设:您已使用bzr branch lp:nxhtml在启动板上的集市存储库中安装了xhtml。

现在回答: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条目,就可以浏览{{1} }。

Etvoilà!

答案 1 :(得分:1)

通常,您不必编译emacs扩展。你通常包括像

这样的东西
(load "YOUR-PATH-TO/nxhtml/autostart")

进入.emacs

但是,如果您确实要编译您的文件,可以使用函数byte-compile-file(通过M-x byte-compile-file)执行此操作。

答案 2 :(得分:1)

一般来说,对于像nxhtml这样具有许多.el文件和子目录的扩展,你通常会想要使用byte-recompile-directory

  

byte-recompile-directory是一个交互式编译的Lisp函数   `bytecomp.el”。

     

(byte-recompile-directory BYTECOMP-DIRECTORY& optional 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为非零,请重新编译每个.el' file that already has a。elc'文件。

  • 以便更新任何现有但过时的.elc文件:
    M-x 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(即)来安装和维护包,因为它们负责所有编译和自动加载。