comparison man/internals/internals.texi @ 3094:ad2f4ae9895b

[xemacs-hg @ 2005-11-26 11:45:47 by stephent] Xft merge. <87k6ev4p8q.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Sat, 26 Nov 2005 11:46:25 +0000
parents 0ae46b360391
children 971e3c687f18
comparison
equal deleted inserted replaced
3093:769dc945b085 3094:ad2f4ae9895b
5112 @strong{Convention}: Global variables whose names begin with @samp{Q} 5112 @strong{Convention}: Global variables whose names begin with @samp{Q}
5113 are constants whose value is a symbol. The name of the variable should 5113 are constants whose value is a symbol. The name of the variable should
5114 be derived from the name of the symbol using the same rules as for Lisp 5114 be derived from the name of the symbol using the same rules as for Lisp
5115 primitives. Such variables allow the C code to check whether a 5115 primitives. Such variables allow the C code to check whether a
5116 particular @code{Lisp_Object} is equal to a given symbol. Symbols are 5116 particular @code{Lisp_Object} is equal to a given symbol. Symbols are
5117 Lisp objects, so these variables may be passed to Lisp primitives. (An 5117 Lisp objects, so these variables may be passed to Lisp primitives. (A
5118 alternative to the use of @samp{Q...} variables is to call the 5118 tempting alternative to the use of @samp{Q...} variables is to call the
5119 @code{intern} function at initialization in the 5119 @code{intern} function at initialization in the
5120 @code{vars_of_@var{module}} function, which is hardly less efficient.) 5120 @code{vars_of_@var{module}} function. But this does not
5121 @code{staticpro} the symbol, which in theory could get uninterned, and
5122 then garbage collected while you're not looking. You could
5123 @code{staticpro} yourself, but in a production XEmacs @code{intern} and
5124 @code{staticpro} is all that @code{DEFSYMBOL} does, while in a debugging
5125 XEmacs it also does some error-checking, which you normally want.)
5121 5126
5122 @strong{Convention}: Global variables whose names begin with @samp{V} 5127 @strong{Convention}: Global variables whose names begin with @samp{V}
5123 are variables that contain Lisp objects. The convention here is that 5128 are variables that contain Lisp objects. The convention here is that
5124 all global variables of type @code{Lisp_Object} begin with @samp{V}, and 5129 all global variables of type @code{Lisp_Object} begin with @samp{V}, and
5125 no others do (not even integer and boolean variables that have Lisp 5130 no others do (not even integer and boolean variables that have Lisp