次: , 前: Global Variables, 上: Variables


10.2 変更不可能な変数

Emacs Lispには、通常それ自身に評価されるある種のシンボルがあります。 `:'で始まる名前の任意の変数、および、niltです。 これらのシンボルを再束縛することはできず、 それらの値を変更することもできません。 niltを設定しようとしたり束縛しようとすると、 エラーsetting-constantを通知します。 `:'で始まる名前のシンボルに関してもそうですが、 そのようなシンボルにそれ自身を設定することはできます。

     nil == 'nil
          => nil
     (setq nil 500)
     error--> Attempt to set constant symbol: nil
— 変数: keyword-symbols-constant-flag

この変数がnilであると、 `:'で始まる名前の変数を望みの値に設定したり束縛したりできる。 これは、そのようなことを行う古いLispプログラムの実行を可能にするためである。