Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

exec-path-from-shellを使うとCocoa Emacsでも初期状態からSHELL環境を読みに行ける

cocoa EmacsさんはデフォではSHELLの設定を拾いに行ってくれません。
というわけで、xmpfilterのような、外部スクリプトを呼び出すもので不具合がでます。

これを解決するのがexec-path-from-shellです。
いつも通りelpaで当該elを突っ込んだ後、
init.elに以下のように追記*1、M-x eval-bufferします。

;; load environment variables
(when (memq window-system '(mac ns))
	    (require 'exec-path-from-shell)
	    (exec-path-from-shell-initialize))

exec-path-from-shellは起動毎にShellを呼び出すようです。
よって、若干起動が遅くなります。
頻繁に起動している人は注意が必要ですね。

*1:elpa経由で入れたのにrequireしないと「Symbol's function definition is void: exec-path-from-shell-initialize」とか言って怒られます。多分、pathがちゃんと通ってないからなんでしょうが...