J'ai vu des exemples en ligne où les gens ajoutent des chemins au chemin par défaut dans Emacs avec:
(add-to-list 'exec-path "/usr/local/bin/")
Je suis nouveau chez Elisp, et je pense que je comprends ce que fait la déclaration ci-dessus, mais j'ai quelques questions:
Dans quel ordre Emacs recherche-t-il les chemins d'exécution? Par exemple, prend-il en compte la valeur de
$PATH
(variable env.) (Et si oui, avant ou aprèsexec-path
?)Comment puis-je ajouter plusieurs de ces chemins? Puis-je continuer à les concaténer? par exemple
(add-to-list 'exec-path "PATH1", "PATH2")
ou devrais-je faire:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
J'ai également trouvé ce package intéressant sur GitHub: exec-path-from-shell . Pourquoi a-t-on besoin d'un package pour cela?
Motivation
Avez-vous déjà constaté qu'une commande fonctionne dans votre shell, mais pas dans Emacs?
Cela se produit souvent sous OS X, où une instance Emacs démarrée à partir de l'interface graphique hérite d'un ensemble par défaut de variables d'environnement.
Cette bibliothèque fonctionne résout ce problème en copiant les variables d'environnement importantes du shell de l'utilisateur: elle fonctionne en demandant à votre shell d'imprimer les variables d'intérêt, puis en les copiant dans l'environnement Emacs.
C-h v exec-path
, utilisez le ou les manuels (Emacs et Elisp). Dans un manuel, i exec-path
vous dirige vers une explication utile. Demandez d'abord à Emacs - vous ne le regretterez pas.
(describe-function 'add-to-list)
(C-h f
) vous donnera le document pour laadd-to-list
fonction, ainsi que des liens vers la source. Il y a aussi(describe-variable 'exec-path)
(C-h v
). Ce n'est pas censé être un commentaire RTFM - ces documents ne répondent pas à toutes les questions que vous avez énumérées, juste quelque chose d'utile.