Skip to content

Instantly share code, notes, and snippets.

@noqisofon
Last active August 29, 2015 14:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save noqisofon/ebe87ed81463a906c740 to your computer and use it in GitHub Desktop.
Save noqisofon/ebe87ed81463a906c740 to your computer and use it in GitHub Desktop.
Emacs の初期化ファイル・環境編

Emacs の初期化用ファイル・環境編

環境判別用変数を定義したりする

世の中には様々な環境が存在1します。 それぞれに設定ファイルを作成するのは大変面倒です。 なので、現在 Emacs が動いている環境がどのようなものなのか分かれば、同じテーマの設定ファイルをいくつも作らなくて済みますよね。

ここではそのような環境を判別するための変数を定義します。

Emacs 判別用

例えば、以下は XEmacs であれば t を返します2

これだけでは心もとないので、同名の関数を作成3し:

それを評価した後の値を設定します。

(setq xemacsp (xemacsp))

(setq xemacs-no-mule-p (and (not (featurep 'mule))
                            xemacsp))

同じ様に、Emacs のメジャー・バージョン毎に定義します。

Meadow 用の環境判別用変数ですが…、Windows 用の本家 Emacs がちゃんと動くようになったのであんまり必要ないかもしれません。

OS 判別用

次は OS を判別する変数を定義します。 system-configuration を使えばよいのですが、めんどくさいので system-type を使っています。

ウィンドウ・システム判別用

ウィンドウ・システムを使っていない場合は character-based-terminal-pt になります。 Linux においてはデスクトップ環境の不具合などで Emacs を CUI 上で動かすことがあるかもしれません。

1 プラットフォームとも。要するに OS のこと。とはいえ、一口に環境と云っても OS なのか、Emacs 本体のバージョンやその他の emacsen なのか、はたまたデスクトップ環境なのかで色々と違ってくる。 2 XEmacs を使ったことがないのでそうなるのかは不明。 3 そんなことする必要はないという説も。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment