Eu tentei usar a solução environment.plist
acima (fiz isso há alguns anos, não reinstalei meu computador há algum tempo), mas não consegui fazê-lo funcionar em algum momento. Então eu simplesmente inseri os caminhos perdidos no emacs, assim:
(setenv "PATH" (concat "/opt/local/bin:/opt/local/sbin:" (getenv "PATH")))
(setq exec-path (append '("/opt/local/bin" "/opt/local/sbin") exec-path))
Neste caso, estou adicionando os caminhos para os binários Macports. Provavelmente não é a solução mais bonita, mas pelo menos funciona:)