Emacs è in grado di rilevare il percorso del suo eseguibile?


8

Supponiamo di avere due emac identici (della stessa versione) sul mio sistema. Uno è collocato C:\Program Files\Gnu Emacse l'altro in un posto diverso, diciamo C:\Program Files\New Gnu Emacs. Emacs in esecuzione può rilevare quale è? Ad esempio, può fornire il percorso del suo eseguibile (ovvero il percorso in cui è possibile trovare emacs.exe o emacs.bin)?

Risposte:


14

Supponendo che Emacs sappia come è stato avviato, puoi accedere al percorso completo del file eseguibile facendo:

(expand-file-name invocation-name invocation-directory)

Nel mio sistema, ad esempio, questo ritorna "/usr/local/bin/emacs"sulla mia sessione normale e ritorna "~/.evm/bin/emacs"sulla mia sessione di test evm. Se vuoi essere sofisticato, puoi anche inserirlo in a file-truename per risolvere eventuali collegamenti simbolici.


Le due variabili utilizzate sopra, come descritto dalle loro stringhe di documenti:

  • invocation-name

    Il nome del programma utilizzato per eseguire Emacs.
    Qualsiasi nome di directory viene omesso.

  • invocation-directory

    La directory in cui è stato trovato l'eseguibile Emacs, per eseguirlo.
    Il valore è zero se il nome di quella directory non è noto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.