Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

memqとウィンドウ環境の読み込みに関して

memqはリストの中にあればリスト自体、
なければnilを返してくる関数です。

(memq 'a '(a b))
;; => (a b)

(memq 'a '(b v))
;; => nil

というわけで、window-systemと合わせて使うと
リスト中に一致したものがある場合、条件を実行する式を書く事ができます。

(when (memq  window-system '(mac ns))
  ...
)

ちなみに、window-systemに格納される値はデフォだと

x
    Emacs is displaying using X. 
pc
    Emacs is displaying using MSDOS.
w32
    Emacs is displaying using Windows NT or Windows 95.
nil
    Emacs is using a character-based terminal.

とあるそうです。
OS X系の記述がないので、どうもCocoa Emacs自体が定義してる値のようです。