Emacs Lisp
Emacs Lispで書いたEmacsの簡単な拡張例をあげよう。Emacsでは、編集領域は、別々のバッファを表示するウインドウという領域に分かれる。おおざっぱにいえば、バッファとは (大抵はファイルから) Emacsのメモリに読み込んだテキストのかたまりで、テキストファイルとして保存できる。
新しいウインドウを開くユーザコマンドは、「C-x 2」である。これは、「Control」キーを押下した状態で「x」キーを押し、その後単独で「2」キーを押す、ということだ(空白文字は読み易いように示してあるだけで、打ってはいけない)。このキー列はEmacs Lispのsplit-window-vertically関数を動かし、普通は新しいウインドウに前のものと同じバッファが表示される。ここでは、その次に有効なバッファを表示するようにしたい、ということにしてみよう。そのためには、利用者は、次のEmacs Lispコードを、既存のEmacs Lispソース・コードや空のEmacsバッファに書く。
最初の文 (defun ...)は、新しい関数my-split-window-functionを定義する。