最近はターミナルから起動するのが習慣づいているので余り気にならなくなりましたが,環境変数を引き継ぐことが出来るようなので設定してみました.参考にしたのはsyohexさんのブログ「Life is very short」の記事
です.
exec-path-from-shell.elというパッケージを用います.
まずpackage.elを用いるか,もしくはこちらからexec-path-from-shell.elをダウンロードして,これをemacsが読み込める場所に置いておきます.
設定は次のようにしました.
;;;ターミナル以外から起動したときも,パスなどのシェル環境変数を引き継ぐ
(when (memq window-system '(mac ns))
(require 'exec-path-from-shell)
(exec-path-from-shell-initialize)
(let ((envs '("BIBINPUTS" "TEXINPUTS" "INDEXSTYLE")))
(exec-path-from-shell-copy-envs envs))
)
ここでは,パス以外のシェル環境変数としてLaTeXで使うBIBINPUTSとTEXINPUTS, INDEXSTYLEの3つをenvsというリストにして,exec-path-from-shell-copy-envsという変数に設定しています.これでexec-path-from-shell-copy-envsに設定したシェルの環境変数も一緒に引き継いでくれるようになりました.
あとはQuicsilverでEmacs.appにキーボードショートカットを割り当てて,ターミナルなしで起動出来るようにしました.最近外付けSSDにUbuntu 15.04をインストールしたのですが,UbuntuでもEmacsをGUIから起動するとパスなどが引き継がれなくなってしまったようです.同様の方法を試してみたいと思います.