Ich möchte C-Quellcode von Emacs-Funktionen anzeigen können. Zum Beispiel möchte ich dazu in der Lage sein M-: (find-function 'message)
.
Emacs fordert mich auf, das Verzeichnis der C-Quellen einzugeben, damit es festgelegt werden kann find-function-C-source-directory
. Meine Distribution (Arch Linux) hat jedoch gerade die üblichen make; make install
Schritte ausgeführt (siehe das Paketrezept hier ), sodass keine C-Quellen verfügbar sind, ohne sie manuell herunterzuladen.
Also möchte ich die Verpackung reparieren. Meine Fragen sind:
- Gibt es Konfigurationsoptionen für das Makefile von Emacs, bei denen auch
make install
die C-Quellen kopiert werden? Ich kann nichts Offensichtliches sehen. - Wie wird
find-function-C-source-directory
das Paket richtig eingestellt ? Erstellen Sie einsite-lisp
? - Gibt es Distributionen oder Plattformen, die dies bereits tun?
find-function-C-source-directory
wirdsource-directory
intern verwendet, daher sollten die Dinge nur für einen Emacs-Lauf in seinem Build-Verzeichnissrc
Verzeichnisses beim Erstellen vonAntworten:
Wenn Sie fragen, wie Sie Quellcode in mein Arch-Paket aufnehmen können, scheint er nicht hierher zu gehören, sondern möglicherweise unter https://unix.stackexchange.com/ .
Nein.
Wenn Sie zum Zeitpunkt der Erstellung wissen, wo Ihr Quellcodepaket installiert wird, können Sie den Quellcode patchen. Aber ich würde in Site-Lisp überschreiben.
Nicht, dass ich davon Wüste.
Da Sie als Benutzer jederzeit den Emacs-Quellcode herunterladen können, entpacken Sie ihn in Ihrem Home-Verzeichnis und stellen Sie ihn
find-function-C-source-directory
entsprechend ein, damit er einwandfrei funktioniert.Eine großartige Sache
find-function
ist, dass es nicht die genaue Zeilennummer kennen muss. Stattdessen wird die Funktion in der Quelldatei durchsucht. Kleinere Änderungen oder Versionsunterschiede wirken sich also überhaupt nicht auf die Fähigkeit aus.quelle