Ho visto esempi online in cui le persone aggiungono percorsi al percorso predefinito in Emacs con:
(add-to-list 'exec-path "/usr/local/bin/")
Sono nuovo di Elisp e penso di capire cosa fa la dichiarazione sopra, ma ho alcune domande:
In quale ordine Emacs cerca i percorsi di esecuzione? Ad esempio, considera il valore di
$PATH
(variabile ambientale) (e in tal caso, prima o dopoexec-path
?)Come posso anteporre più di questi percorsi? Posso continuare a concatenarli? per esempio
(add-to-list 'exec-path "PATH1", "PATH2")
o dovrei fare:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
Ho anche trovato questo interessante pacchetto su GitHub: exec-path-from-shell . Perché è necessario un pacchetto per questo?
Motivazione
Hai mai scoperto che un comando funziona nella tua shell, ma non in Emacs?
Questo succede molto su OS X, dove un'istanza di Emacs avviata dalla GUI eredita un set predefinito di variabili d'ambiente.
Questa libreria funziona risolve questo problema copiando importanti variabili d'ambiente dalla shell dell'utente: funziona chiedendo alla shell di stampare le variabili di interesse, quindi copiandole nell'ambiente Emacs.
C-h v exec-path
, utilizzare i manuali (Emacs ed Elisp). In un manuale, i exec-path
ti indirizza a una spiegazione utile. Chiedi prima a Emacs : non ti dispiacerà.
(describe-function 'add-to-list)
(C-h f
) ti fornirà il documento per laadd-to-list
funzione, nonché i collegamenti alla fonte. C'è anche(describe-variable 'exec-path)
(C-h v
). Questo non vuole essere un commento RTFM: questi documenti non rispondono a tutte le domande che hai elencato, solo qualcosa di utile.