Emacs lispのソースコード
.elc
ファイル?例えば
cal-mayan.elc
ディレクトリ内のファイル
/bin
?たとえば
cat
、、、、split
echo
答え1
これは、使用しているディストリビューションによって多少異なります。 Debianスタイルのシステムでは、次のことができます。
$ dpkg -S `which cat`
coreutils: /bin/cat
$ apt-get source coreutils
最後のコマンドは、catコマンドを含むバイナリパッケージを構築するために使用されるソースアーカイブとすべてのパッチを取得します。
または、ただグーグルしてください。または、Googleコード検索を試してください。
答え2
しかし、Emacsの場合、Ubuntuの下にemacs23-elという特別なパッケージがあります。このパッケージにはEmacs用のすべてのelファイルが含まれており、elcファイルとともにインストールされます。これの利点は、Emacsで直接関数と変数定義を見ることができることです。 string-insert-矩形関数がどのように定義されているかを見たいとしましょう。 Ch f string-insert - 四角形をクリックすると、ドキュメントを含むヘルプバッファが表示され、そのエントリがret.elで定義されていることがわかります。 ret.elをクリックすると、Emacsは自動的に関数定義を表示します。
答え3
RPMベースのディストリビューションの場合は、「rpm -qi <somepackage>」、または元のパッケージがわからない場合は「rpm -qi <somefile>」を要求できます。ソースRPMが何であるか、ソースのホームページが何であるかを知らせます。 Fedora(およびyumを使用する他のディストリビューション)では、yumdownloaderを使用してソースパッケージを入手できます。たとえば、「yumdownloader --source <パッケージ>」を使用すると、ソースパッケージを入手できます。その後、rpm(1)コマンドを使用してソースコードを解凍できます(ソースRPMパッケージには、アップストリームソースコード、さまざまなパッチ、構成ファイル、および結果の構築とインストールをガイドする仕様ファイルが含まれています)。
ローカル修正を介してパッケージをインストールする必要がある場合(おそらく次のアップストリームバージョンを確認するため)、便利です。