Cソースファイルが標準のfind-function-C-source-directoryにインストールされるように、Emacsをビルド/パッケージ化するにはどうすればよいですか?


7

Emacs関数のCソースコードを閲覧したい。たとえば、私はできるようになりたいですM-: (find-function 'message)

EmacsはCソースのディレクトリを要求するので、それを設定できますfind-function-C-source-directory。ただし、私のディストリビューション(Arch Linux)は通常のmake; make install手順(パッケージのレシピはこちらを参照)を実行したばかりなので、手動でダウンロードしない限り、Cソースは利用できません。

だから、パッケージを直したい。私の質問は:

  1. make installCソースもコピーするというEmacsのmakefileの設定オプションはありますか?はっきりとしたものは何も見えません。
  2. find-function-C-source-directoryパッケージに設定する正しい方法は何ですか?を作成しsite-lispますか?
  3. すでにこれを行っているディストリビューションやプラットフォームはありますか?

1
find-function-C-source-directorysource-directory内部的に使用するため、ビルドディレクトリで実行されるEmacsで機能する必要があります...
wasamasa

1
Emacsで「src」種類のRPMを簡単に検索すると、rpmfind.net / linux / rpm2html / …のような生き物がいます。私はこれらを調べようとしますが、ソースルックアップを設定したかどうかはわかりません(それは良いかもしれませんが)。
wvxvw 2016

おそらく、Arch Linuxは、インストールが完了した後、ビルド中に使用されたすべてのファイルを削除すると思いますか?もしそうなら、関連するファイルを別の場所に移動するためにビルドステップを追加する必要があると思います。site-lisp .elファイルを使用してディレクトリを設定することは正しいです。
phils 2016

emacsはCではなくlispで記述されていると考えました
user3629249 '29 / 02/29

1
Emacsをビルドするときsrcディレクトリを含める/ ディレクトリにコピーする方法」を参照してください: stackoverflow.com/questions/21241967/…–
lawlist

回答:


1

あなたが尋ねているのが「私のArchパッケージにソースコードを含める方法」である場合、それはここに属していないようですが、おそらくhttps://unix.stackexchange.com/

EmacsのmakefileにCソースのコピーを作成することを意味する構成オプションはありますか?

番号。

パッケージにfind-function-C-source-directoryを設定する正しい方法は何ですか?サイトLISPを作成しますか?

ビルド時にソースコードパッケージがインストールされる場所がわかっている場合は、ソースコードにパッチを適用できます。しかし、私はsite-lispでオーバーライドします。

すでにこれを行っているディストリビューションやプラットフォームはありますか?

私が知っていることではありません。

ユーザーはいつでもEmacsのソースコードをダウンロードし、ホームディレクトリに解凍して、適切find-function-C-source-directoryに機能するように設定できるためです。

優れた点find-functionは、正確な行番号を知る必要がないことです。代わりに、ソースファイル内の関数を検索します。したがって、小さな変更やバージョンの違いは、機能にまったく影響しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.