環境変数関係で、ちょっとはまったのでメモ。 Emacsには、exec-path という変数があって、環境変数PATHみたいな役割をしており、Emacsから call-process とかでコマンドを実行するときは、この中のパスから検索する仕組みとなっている。 shell-command の方は、こちらはコマンドがシェルに直接渡されるため、自分のデフォルトのシェルの環境変数を見るようになっている。即ち、exec-path は関係ない。 で、問題は、このシェルの環境変数について。 zsh を利用している場合、.zshenv は読んでくれるが .zshrc は読まない。 なんとなく聞いたことがあったけど、普段弄らないからほぼ忘れており、なぜか、perlbrew の環境変数だけ shell-command に反映されなくて困っていたら、source $HOME/perl5/perlbrew/etc