変数は値を持つLispシンボル(記号)です。 そのシンボルの名前のことを、変数名とも呼びます。 変数名はファイルに入れられるどのような文字でも含むことができますが、 習慣的には、変数名は英単語をハイフンでつなげたものです。 変数には、その変数がどのような値を持ち、 どのように使われるかを記述した説明文字列を持たせることができます。
Lispではどの変数にどのような値でも格納できますが、
Emacsの中ではほとんどの変数はどのような値を持つかが決まっています。
たとえば、ある変数はつねに文字列である、別の変数は数値であるといった具合です。
また、「これこれの機能はこの変数がnil
以外のときにオンになる」
といういい方もします。
その場合は、その変数にnil
が格納されているときはその機能はオフですが、
それ以外のどんな値が格納されているときでもその機能はオンになります。
ですが、ある機能をオンにするために使う値として
何か選ばなければなりませんから、t
という値を使うのが習慣です。
Emacsは一般のLispプログラムと同様、 内部で情報を保持するために数多くの変数を使いますが、 ユーザーにとって特に興味深い変数というのは、 もっぱらカスタマイズ向けに用意された変数だといえます。 Emacsは(通常は)そのような変数の値を変更しません。 かわりに、ユーザーが値を設定すると、 その値に応じてさまざまなEmacsコマンドのふるまいを 変更したり制御したりできるのです。 これらの変数のことをユーザーオプションといいます。 ほとんどのユーザーオプションはこのマニュアルに記載してありますし、 変数索引(see Variable Index)にも記載してあります。
ユーザーオプションであるような変数の例としてfill-column
があります。
この変数は、詰め込みコマンド(see Filling)が使う
右端の桁位置を(左端から何文字右かを表す数値として)保持します。