Subscribed unsubscribe Subscribe Subscribe

exec-pathにshellのPATHを追加する

Emacs Perl

perlbrewを使っているのだけど、どうもflymakeでsyntax checkしようとすると"/usr/bin/perl -wc"を使われてしまっているらしく、モジュール読み込みでエラーがでてしまう。perlbrew用にshellの$PATHで追加しておくもの(デフォルトだと$HOME/perl5/perlbrew/bin, $HOME/perl5/perlbrew/perls/current/bin)を、Emacs内のexec-pathに追加しておかないといけないらしい。
決めうちで書き足してもいいけど、折角だからshellの$PATHのものを全部自動でexec-pathに追加してやるようにしよう、と

(loop for x in (reverse
                (split-string (substring (shell-command-to-string "echo $PATH") 0 -1) ":"))
      do (add-to-list 'exec-path x))

というのを初期化ファイルに書いてみた。とりあえずこれでflymakeで使われるperlはperlbrewのものになってくれたっぽい。他のコマンドに対してもpathが通るようになっている、のかな?
もっといい方法あるのかなー