Eu vi exemplos on-line em que as pessoas adicionam caminhos ao caminho padrão no Emacs com:
(add-to-list 'exec-path "/usr/local/bin/")
Sou novo no Elisp e acho que entendo o que a declaração acima faz, mas tenho algumas perguntas:
Em que ordem o Emacs pesquisa pelos caminhos de execução? Por exemplo, considera o valor de
$PATH
(variável de ambiente) (e se sim, antes ou depoisexec-path
?)Como posso acrescentar vários desses caminhos? Posso apenas continuar concatenando-os? por exemplo
(add-to-list 'exec-path "PATH1", "PATH2")
ou devo fazer:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
Eu também encontrei este pacote interessante no GitHub: exec-path-from-shell . Por que é necessário um pacote para isso?
Motivação
Já descobriu que um comando funciona no seu shell, mas não no Emacs?
Isso acontece muito no OS X, onde uma instância do Emacs iniciada na GUI herda um conjunto padrão de variáveis de ambiente.
Essa biblioteca funciona resolve esse problema, copiando importantes variáveis de ambiente do shell do usuário: solicita ao shell que imprima as variáveis de interesse e depois as copia para o ambiente Emacs.
C-h v exec-path
, use o manual (s) (Emacs e Elisp). Em um manual, i exec-path
você será direcionado a uma explicação útil. Pergunte ao Emacs primeiro - você não vai se arrepender.
(describe-function 'add-to-list)
(C-h f
) fornecerá o documento para aadd-to-list
função, além de links para a fonte. Há também(describe-variable 'exec-path)
(C-h v
). Isso não é um comentário RTFM - esses documentos não respondem a todas as perguntas que você listou, apenas algo útil.