Nella parte superiore del mio modulo elisp, voglio fare qualcosa di semplice come:elisp: C'è un modo per ottenere il nome del modulo .el corrente (come __FILE__ in C)?
(message (concat "Loading " (expand-file-name (current-elisp-module) ".")))
Nella parte superiore del mio modulo elisp, voglio fare qualcosa di semplice come:elisp: C'è un modo per ottenere il nome del modulo .el corrente (come __FILE__ in C)?
(message (concat "Loading " (expand-file-name (current-elisp-module) ".")))
È possibile utilizzare la variabile load-file-name
, che è impostato dalla funzione load
, documentata come segue:
Nome completo del file caricato da `load '.
Come elaborato nel manuale:
Quando Emacs è in fase di caricamento di un file, il valore di questa variabile è il nome di quel file, come Emacs trovato durante la ricerca descritta in precedenza in questo sezione.
Nota:buffer-file-name
come una routine non funziona come ci si potrebbe aspettare a.
Grazie per aver completato la risposta, Trey. Ero più frettoloso del solito a scrivere quello, e ho pensato che sarebbe stato utile metterlo fuori prima possibile. – seh
possibile duplicato di [Come fare riferimento al file attualmente caricato in Emacs Lisp?] (Http://stackoverflow.com/questions/1344747/how-to-refer-to-the-file-currently-being- loaded-in-emacs-lisp) – mlt