Subscribed unsubscribe Subscribe Subscribe

CocoaEmacsに環境変数は引き継がれない

exec-pathにshellのPATHを追加する - すぎゃーんメモ
で、「普通に(getenv "PATH")からシェルの環境変数PATHが取れます」というコメントをいただいたのですが、どうもCocoaEmacsの場合はshell上で動くものではないため環境変数は引き継がれないようになっているようで。
Cocoa Emacs で環境変数を一発で設定する (~/.MacOSX/environment.plist 自動生成) - 刺身☆ブーメランのはてなダイアリー
これを読んで、自分のEmacs(23.2.2)でも見てみたところ、

F.1.1 Grabbing environment variables

                                                                      • -

Many programs which may run under Emacs, like latex or man, depend on
the settings of environment variables. If Emacs is launched from the
shell, it will automatically inherit these environment variables and
its subprocesses will inherit them from it. But if Emacs is launched
from the Finder it is not a descendant of any shell, so its environment
variables haven't been set, which often causes the subprocesses it
launches to behave differently than they would when launched from the
shell.

For the PATH and MANPATH variables, a system-wide method of setting
PATH is recommended on Mac OS X 10.5 and later, using the `/etc/paths'
files and the `/etc/paths.d' directory.

という記述になっていた。mac-fix-envコマンドもns-grabenv関数も廃止されてしまった…のかな?
/etc以下をいじるのはあまりやりたくないので初期設定ファイル内で自前で記述していく方針でいこうと思います。


コメントいただいたid:kitokitokiさん、id:a666666さん、ありがとうございました!