環境によってEmacsの挙動を変える

cocoa emacs でのフォントの設定 - daharuの日記の設定後
terminalからCocoa emacsを起動するとフォント関連のエラーが出てしまったので.emacsでのフォントの設定をGUIのときのみ適用するよう変更しました。
その際調べたことをまとめておきます。

自分のための日記: ターミナルから Emacs を起動すると Symbol's function definition is void: fixed-width-set-fontset のエラー
によると、変数 "window-system"を評価することによってemacsがどの環境で実行されたのかを知ることができるようです。

例えば、window-sytem "hoge" で、のみfugaを実行するには次の様に書きます。

(if (eq window-system 'hoge)
fuga
)


Cocoa EmacsGUIの時のみフォントの設定を適用するには、

;;; 日本語のフォント設定 
(if (eq window-system 'ns) (progn
(create-fontset-from-ascii-font "Menlo-12:weight=normal:slant=normal" nil "menlokakugo")
(set-fontset-font "fontset-menlokakugo" 'unicode (font-spec :family "Hiragino Kaku Gothic ProN" ) nil 'append)
(add-to-list 'default-frame-alist '(font . "fontset-menlokakugo"))
(setq face-font-rescale-alist '((".*Hiragino.*" . 1.2) (".*Menlo.*" . 1.0)))))