Suponiendo que Emacs sepa cómo se inició, puede acceder a la ruta completa del archivo ejecutable haciendo lo siguiente:
(expand-file-name invocation-name invocation-directory)
En mi sistema, por ejemplo, esto regresa "/usr/local/bin/emacs"
en mi sesión regular y regresa "~/.evm/bin/emacs"
en mi sesión de prueba evm. Si quieres ponerte elegante, también puedes envolverlo
file-truename
para resolver cualquier enlace simbólico.
Las dos variables utilizadas anteriormente, como se describe por sus cadenas de documentos:
invocation-name
El nombre del programa que se utilizó para ejecutar Emacs.
Se omiten todos los nombres de directorio.
invocation-directory
El directorio en el que se encontró el ejecutable de Emacs, para ejecutarlo.
El valor es nulo si no se conoce el nombre de ese directorio.