Next: Generalized Variables, Previous: Variable Aliases, Up: Variables [Contents][Index]
通常のLisp変数には、有効なLispオブジェクトである任意の値を割り当てることができます。しかし、LispではなくCで定義されたLisp変数もあります。これらの変数のほとんどは、DEFVAR_LISP
を使用してCコードで定義されています。Lispで定義された変数と同様、これらは任意の値をとることができます。しかし、いくつかの変数はDEFVAR_INT
やDEFVAR_BOOL
を使用して定義されています。C実装の概要的な議論は、Writing Emacs
Primitives、特にタイプsyms_of_filename
の関数の説明を参照してください。
タイプがDEFVAR_BOOL
の変数は、値にnil
かt
しかとることができません。他の値の割り当てを試みると、t
はセットされます:
(let ((display-hourglass 5)) display-hourglass) ⇒ t
この変数は、タイプDEFVAR_BOOL
のすべての変数のリストを保持します。
タイプがDEFVAR_INT
の変数は、整数値だけをとることができます。他の値の割り当てを試みると、結果はエラーになります:
(setq undo-limit 1000.0) error→ Wrong type argument: integerp, 1000.0