[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

11.15 Variables with Restricted Values

Ordinary Lisp variables can be assigned any value that is a valid Lisp object. However, certain Lisp variables are not defined in Lisp, but in C. Most of these variables are defined in the C code using DEFVAR_LISP. Like variables defined in Lisp, these can take on any value. However, some variables are defined using DEFVAR_INT or DEFVAR_BOOL. Voir Writing Emacs Primitives, in particular the description of functions of the type syms_of_filename, for a brief discussion of the C implementation.

Variables of type DEFVAR_BOOL can only take on the values nil or t. Attempting to assign them any other value will set them to t:

 
(let ((display-hourglass 5))
  display-hourglass)
     ⇒ t
Variable: byte-boolean-vars

This variable holds a list of all variables of type DEFVAR_BOOL.

Variables of type DEFVAR_INT can only take on integer values. Attempting to assign them any other value will result in an error:

 
(setq window-min-height 5.0)
error--> Wrong type argument: integerp, 5.0

Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.