Auf der Suche nach einer Möglichkeit, wie elisp Code in einer externen Datei gespeichert und das Ergebnis als Funktion Argument übergeben. Beispiel zeigen, was ich möchte folgt erreichen:Ergebniswert des in einer Datei gespeicherten elisp-Codes?
;; content of my_template.el
'(this is a list)
;; content of .emacs where result of my_template.el has to be used
(define-auto-insert "\.ext$"
;; bellow is my attempt to retrieve resulting list object
;; but getting nil instead
(with-temp-buffer
(insert-file-contents ("my_template.el"))
(eval-buffer))))
Wahrscheinlich für eine eval-ähnliche Funktion suchen, die neben Nebeneffekt auch Ergebnis des letzten Ausdrucks zurückgibt.
Irgendeine Idee?
(a) Sie sollten die Dokumentation von 'eval-buffer', ohne zusätzliche Argumente Ausgang wird verworfen (b) das zweite Argument' define-Auto-insert' muss sein, eine Funktion lesen, könnten Sie eine Lambda-Form für eine anonyme Funktion. –
Sie haben Recht mit dem EVAL-Puffer, ich suchte nach einer alternativen Version, die das letzte Ausdrucksergebnis zurückgibt. Übrigens. Wie könnte Lambda als zweites Argument in diesem Fall helfen - dh. eine externe elisp-Datei auswerten? –
Ich meinte nur, Sie müssen möglicherweise den aufrufenden Code in eine "(Lambda() ...)", so dass es eine anonyme Funktion ist. –