¿Puede Emacs detectar la ruta de su ejecutable?


8

Supongamos que tengo dos emacs idénticos (de la misma versión) en mi sistema. Uno se coloca en C:\Program Files\Gnu Emacsy el otro en un lugar diferente, por ejemplo C:\Program Files\New Gnu Emacs. ¿Puede un Emacs en ejecución detectar cuál es? Por ejemplo, ¿puede dar la ruta de su ejecutable (es decir, la ruta donde se puede encontrar emacs.exe o emacs.bin)?

Respuestas:


14

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.