Emacs: Definieren Sie eine Funktion, die die Datei lädt, in der die Funktion selbst definiert ist

8

Ich reformiere etwas in meinem Emacs-Setup und bin zu dem Schluss gekommen, dass ich eine andere Init-Datei als die Standard-Datei verwenden möchte. Also im Grunde, in meiner ~ / .emacs Datei, habe ich das:

%Vor%

Bis jetzt hat das gut funktioniert. Nun möchte ich jedoch einen alten Befehl, den ich seit Jahren verwende, neu definieren, der meine Init-Datei öffnet:

%Vor%

Wie Sie sehen, öffnet dies ~ / .emacs, egal was ich mache. Ich möchte, dass es /some/directory/init.el öffnet, oder wo immer der Befehl conf selbst definiert ist.

Wie würde ich das tun?

    
damd 30.03.2012, 16:37
quelle

3 Antworten

6

Sie können find-function dafür verwenden:

%Vor%     
Trey Jackson 30.03.2012, 17:25
quelle
3

Sie können auch einen hinterhältigen Weg gehen:

  

(defun conf () "blabla" (interaktiv) (Find-Datei # $))

Weil # $ ein bisschen wie __FILE__ in C funktioniert: Es wird durch den Dateinamen ersetzt, wenn die Datei gelesen wird.

    
Stefan 30.03.2012 20:05
quelle
0

Das funktioniert für mich.

%Vor%     
Cheeso 01.04.2012 03:38
quelle

Tags und Links