]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/objects.texi
Merge from origin/emacs-24
[gnu-emacs] / doc / lispref / objects.texi
index 8c9bb26c89f699b75bd2021d65239e983b449953..a93f34f573b0572038e0991e1cc55af45b5fac35 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software
+@c Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @node Lisp Data Types
 @chapter Lisp Data Types
@@ -136,7 +136,7 @@ latter are unique to Emacs Lisp.
 
 @menu
 * Integer Type::        Numbers without fractional parts.
-* Floating Point Type:: Numbers with fractional parts and with a large range.
+* Floating-Point Type:: Numbers with fractional parts and with a large range.
 * Character Type::      The representation of letters, numbers and
                         control characters.
 * Symbol Type::         A multi-use object that refers to a function,
@@ -161,10 +161,10 @@ latter are unique to Emacs Lisp.
 @node Integer Type
 @subsection Integer Type
 
-  The range of values for integers in Emacs Lisp is @minus{}536870912 to
-536870911 (30 bits; i.e.,
+  The range of values for an integer depends on the machine.  The
+minimum range is @minus{}536,870,912 to 536,870,911 (30 bits; i.e.,
 @ifnottex
--2**29
+@minus{}2**29
 @end ifnottex
 @tex
 @math{-2^{29}}
@@ -176,9 +176,9 @@ to
 @tex
 @math{2^{29}-1})
 @end tex
-on typical 32-bit machines.  (Some machines provide a wider range.)
-Emacs Lisp arithmetic functions do not check for overflow.  Thus
-@code{(1+ 536870911)} is @minus{}536870912 if Emacs integers are 30 bits.
+but many machines provide a wider range.
+Emacs Lisp arithmetic functions do not check for integer overflow.  Thus
+@code{(1+ 536870911)} is @minus{}536,870,912 if Emacs integers are 30 bits.
 
   The read syntax for integers is a sequence of (base ten) digits with an
 optional sign at the beginning and an optional period at the end.  The
@@ -187,7 +187,7 @@ leading @samp{+} or a final @samp{.}.
 
 @example
 @group
--1               ; @r{The integer -1.}
+-1               ; @r{The integer @minus{}1.}
 1                ; @r{The integer 1.}
 1.               ; @r{Also the integer 1.}
 +1               ; @r{Also the integer 1.}
@@ -197,26 +197,26 @@ leading @samp{+} or a final @samp{.}.
 @noindent
 As a special exception, if a sequence of digits specifies an integer
 too large or too small to be a valid integer object, the Lisp reader
-reads it as a floating-point number (@pxref{Floating Point Type}).
+reads it as a floating-point number (@pxref{Floating-Point Type}).
 For instance, if Emacs integers are 30 bits, @code{536870912} is read
 as the floating-point number @code{536870912.0}.
 
   @xref{Numbers}, for more information.
 
-@node Floating Point Type
-@subsection Floating Point Type
+@node Floating-Point Type
+@subsection Floating-Point Type
 
-  Floating point numbers are the computer equivalent of scientific
-notation; you can think of a floating point number as a fraction
+  Floating-point numbers are the computer equivalent of scientific
+notation; you can think of a floating-point number as a fraction
 together with a power of ten.  The precise number of significant
 figures and the range of possible exponents is machine-specific; Emacs
 uses the C data type @code{double} to store the value, and internally
 this records a power of 2 rather than a power of 10.
 
-  The printed representation for floating point numbers requires either
+  The printed representation for floating-point numbers requires either
 a decimal point (with at least one digit following), an exponent, or
-both.  For example, @samp{1500.0}, @samp{15e2}, @samp{15.0e2},
-@samp{1.5e3}, and @samp{.15e4} are five ways of writing a floating point
+both.  For example, @samp{1500.0}, @samp{+15e2}, @samp{15.0e+2},
+@samp{+1500000e-3}, and @samp{.15e4} are five ways of writing a floating-point
 number whose value is 1500.  They are all equivalent.
 
   @xref{Numbers}, for more information.
@@ -565,8 +565,8 @@ Lisp, upper case and lower case letters are distinct.
 @end quotation
 
   Here are several examples of symbol names.  Note that the @samp{+} in
-the fifth example is escaped to prevent it from being read as a number.
-This is not necessary in the fourth example because the rest of the name
+the fourth example is escaped to prevent it from being read as a number.
+This is not necessary in the sixth example because the rest of the name
 makes it invalid as a number.
 
 @example
@@ -1177,8 +1177,10 @@ inherit from, a default value, and a small number of extra slots to use for
 special purposes.  A char-table can also specify a single value for
 a whole character set.
 
+@cindex @samp{#^} read syntax
   The printed representation of a char-table is like a vector
-except that there is an extra @samp{#^} at the beginning.
+except that there is an extra @samp{#^} at the beginning.@footnote{You
+may also encounter @samp{#^^}, used for ``sub-char-tables''.}
 
   @xref{Char-Tables}, for special functions to operate on char-tables.
 Uses of char-tables include:
@@ -1299,7 +1301,7 @@ called @dfn{subrs} or @dfn{built-in functions}.  (The word ``subr'' is
 derived from ``subroutine''.)  Most primitive functions evaluate all
 their arguments when they are called.  A primitive function that does
 not evaluate all its arguments is called a @dfn{special form}
-(@pxref{Special Forms}).@refill
+(@pxref{Special Forms}).
 
   It does not matter to the caller of a function whether the function is
 primitive.  However, this does matter if you try to redefine a primitive
@@ -1803,9 +1805,6 @@ with references to further information.
 @item custom-variable-p
 @xref{Variable Definitions, custom-variable-p}.
 
-@item display-table-p
-@xref{Display Tables, display-table-p}.
-
 @item floatp
 @xref{Predicates on Numbers, floatp}.