2011-02-23 89 views
1

我是Emacs的新手,最近我安裝了nXhtml擴展。我怎樣才能編譯擴展名?如何編譯Emacs elisp擴展名(nXhtml)?

+2

'M-x byte-compile-file',然後輸入你的'el'文件的路徑。 – phimuemue 2011-02-23 17:10:28

+1

有沒有反饋意見?你最終成功了嗎? – Renaud 2011-10-21 23:45:20

+0

@Renauld我認爲我做了。它在我的hxhtml文件夾中導出了一個autostart.elc文件......但是,可能nxhtml.elc會是一個更好的名字......是否編譯了其他所需的一切? – rabidmachine9 2011-10-28 21:23:44

回答

2

假設:您已經在啓動板上使用bzr branch lp:nxhtml從bazaar存儲庫安裝了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項,只是瀏覽nXhtml → nXhtml Help and Setup → Byte compile nXhtml

等voilà!

+0

+1,用於指出README.txt文件:) – 2011-09-16 17:49:16

+0

@Diego niark niark! – Renaud 2011-09-16 17:56:38

1

通常,您不必編譯emacs擴展。你通常包括類似

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

到你的.emacs

但是,如果你真的想編譯你的文件,你可以做到這一點使用功能byte-compile-file(通過M-x byte-compile-file)。

+0

它導出一個編譯文件autostart.ecl,但它似乎沒有工作... – rabidmachine9 2011-02-23 17:57:27

+0

它實際上工作,如果你最後添加.elc但它編譯整個擴展名或只是特定的文件?它會使它運行得更快嗎? – rabidmachine9 2011-02-23 19:28:01

1

一般來說,對於像nxhtml擴展,它有許多.el文件,也許子目錄,你通常會希望使用byte-recompile-directory

字節重新編譯目錄是 互動編譯Lisp函數`bytecomp.el」。

(字節編譯目錄BYTECOMP目錄&可選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-Xbyte-recompile-directoryRET(路徑nxhtml)RET
  • 和RE /編譯所有。不要求確認EL文件:
    M-0的Mxbyte-recompile-directoryRET(路徑nxhtml)RET

要了解前綴參數:
M-:(info "(emacs) Arguments")RET

你也可以看看int o使用諸如ELPA(本例中不適用)或el-get(這是)來安裝和維護軟件包,因爲它們處理所有編譯和自動加載。