0

などの相対パスを使用して、emacslispバイトコンパイルの宛先ディレクトリを設定したいと思います../foo。使用する必要があると思いましたbyte-compile-dest-file-functionが、設定方法がわかりません。どうすれば設定できますか?

4

2 に答える 2

1

byte-compile-dest-function変数を設定するには、customize-variable対話的に、またはsetqinit ファイルで使用できます。どちらの方法でも機能を実行する関数を作成する必要があるため、後者をお勧めします。そうすれば、すべてが init ファイルの同じ場所に配置されます。

例えば:

(defun my-dest-function (filename)
  (concat (file-name-directory filename)
          "../"
          (file-name-sans-extension (file-name-nondirectory filename))
          ".elc"))
(setq byte-compile-dest-file-function 'my-dest-function)
于 2012-12-19T18:38:11.610 に答える
0

Ch v の後にその変数名を使用すると、それを見つけることができます。

(defcustom byte-compile-dest-file-function nil
  "Function for the function `byte-compile-dest-file' to call.
It should take one argument, the name of an Emacs Lisp source
file name, and return the name of the compiled file."
  :group 'bytecomp
  :type '(choice (const nil) function)
  :version "23.2")

カスタマイズ可能な変数であることがわかるので、その値を「関数」に変更できます。

編集:これが変更したい変数であるかどうかはわかりません。実際、変数ディレクトリを頻繁に扱っていることがわかりますが、すべての .elc を配置する特定のディレクトリを設定する方法がわかりません。

于 2012-12-19T17:27:27.777 に答える