Mercurial > hg > xemacs-beta
diff man/internals/internals.texi @ 5581:56144c8593a8
Mechanically change INT to FIXNUM in our sources.
src/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
[...]
Mechanically change INT (where it refers to non-bignum Lisp
integers) to FIXNUM in our sources. Done for the following
functions, enums, and macros: Lisp_Type_Int_Even,
Lisp_Type_Int_Odd, INT_GCBITS, INT_VALBITS, make_int(), INTP(),
XINT(), CHECK_INT(), XREALINT(), INT_PLUS(), INT_MINUS(),
EMACS_INT_MAX (to MOST_POSITIVE_FIXNUM), EMACS_INT_MIN (to
MOST_NEGATIVE_FIXNUM), NUMBER_FITS_IN_AN_EMACS_INT() to
NUMBER_FITS_IN_A_FIXNUM(), XFLOATINT, XCHAR_OR_INT, INT_OR_FLOAT.
The EMACS_INT typedef was not changed, it does not describe
non-bignum Lisp integers.
Script that did the change available in
http://mid.gmane.org/20067.17650.181273.12014@parhasard.net .
modules/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
[...]
Mechanically change INT to FIXNUM, where the usage describes non-bignum
Lisp integers. See the src/ChangeLog entry for more details.
man/ChangeLog addition:
2011-10-09 Aidan Kehoe <kehoea@parhasard.net>
* internals/internals.texi (How Lisp Objects Are Represented in C):
* internals/internals.texi (Integers and Characters):
Mechanically change INT to FIXNUM, where the usage describes non-bignum
Lisp integers.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 09 Oct 2011 09:51:57 +0100 |
parents | d54278e74d71 |
children | 873d7425c1ad |
line wrap: on
line diff
--- a/man/internals/internals.texi Sat Oct 08 12:26:09 2011 +0100 +++ b/man/internals/internals.texi Sun Oct 09 09:51:57 2011 +0100 @@ -7895,9 +7895,9 @@ the @code{--use-union-type} option to @code{configure}. Various macros are used to convert between Lisp_Objects and the -corresponding C type. Macros of the form @code{XINT()}, @code{XCHAR()}, +corresponding C type. Macros of the form @code{XFIXNUM()}, @code{XCHAR()}, @code{XSTRING()}, @code{XSYMBOL()}, do any required bit shifting and/or -masking and cast it to the appropriate type. @code{XINT()} needs to be +masking and cast it to the appropriate type. @code{XFIXNUM()} needs to be a bit tricky so that negative numbers are properly sign-extended. Since integers are stored left-shifted, if the right-shift operator does an arithmetic shift (i.e. it leaves the most-significant bit as-is rather @@ -7919,7 +7919,7 @@ than just used in an expression. The reason for this is that standard C doesn't let you ``construct'' a structure (but GCC does). Granted, this sometimes isn't too convenient; for the case of integers, at least, you -can use the function @code{make_int()}, which constructs and +can use the function @code{make_fixnum()}, which constructs and @emph{returns} an integer Lisp object. Note that the @code{XSET@var{TYPE}()} macros are also affected by @code{ERROR_CHECK_TYPES} and make sure that the structure is of the @@ -8736,7 +8736,7 @@ @cindex characters, integers and Integer and character Lisp objects are created from integers using the -functions @code{make_int()} and @code{make_char()}. (These are actually +functions @code{make_fixnum()} and @code{make_char()}. (These are actually macros on most systems.) These functions basically just do some moving of bits around, since the integral value of the object is stored directly in the @code{Lisp_Object}.