Cercare un modo per valutare il codice elisp memorizzato in un file esterno e passare il risultato come argomento di funzione. Esempio dimostrando quello che mi piacerebbe raggiungere segue:Valore di risultato del codice elisp memorizzato in un file?
;; 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))))
probabilmente alla ricerca di una funzione eval-like, che oltre ad effetto collaterale restituisce anche risultato dell'ultima espressione.
Qualche idea?
(a) si dovrebbe leggere la documentazione di 'eval-buffer', senza uscita argomenti extra viene scartato (b) il secondo argomento a' definire-auto-insert' deve essere una funzione, è possibile utilizzare una forma lambda per una funzione anonima. –
Hai ragione con il buffer di eval, stavo cercando una versione alternativa che restituisca il risultato dell'ultima espressione. Btw. come potrebbe aiutare lambda come seconda argomentazione in questo caso - vale a dire. valutare un file elisp esterno? –
Intendevo solo che potrebbe essere necessario avvolgere il codice chiamante in un '(lambda() ...)' in modo che sia una funzione anonima. –