]> code.delx.au - gnu-emacs/blobdiff - lispref/intro.texi
*** empty log message ***
[gnu-emacs] / lispref / intro.texi
index bb264c81c46d5cff3824cdf66fbdb8ac05b12911..7e1b6155b3545ab5a98a5dfb522ec05e70707b76 100644 (file)
@@ -1,7 +1,7 @@
 @c -*-texinfo-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2002
-@c   Free Software Foundation, Inc.
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2002, 2003, 2004,
+@c   2005, 2006 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
 @setfilename ../info/intro
 
@@ -163,7 +163,7 @@ person reading this manual, are thought of as ``the programmer'' and are
 addressed as ``you''.  ``The user'' is the person who uses Lisp
 programs, including those you write.
 
-@cindex fonts
+@cindex fonts in this manual
   Examples of Lisp code are formatted like this: @code{(list 1 2 3)}.
 Names that represent metasyntactic variables, or arguments to a function
 being described, are formatted like this: @var{first-number}.
@@ -187,17 +187,17 @@ readers.  After the Lisp reader has read either @samp{()} or @samp{nil},
 there is no way to determine which representation was actually written
 by the programmer.
 
-  In this manual, we use @code{()} when we wish to emphasize that it
-means the empty list, and we use @code{nil} when we wish to emphasize
+  In this manual, we write @code{()} when we wish to emphasize that it
+means the empty list, and we write @code{nil} when we wish to emphasize
 that it means the truth value @var{false}.  That is a good convention to use
 in Lisp programs also.
 
 @example
 (cons 'foo ())                ; @r{Emphasize the empty list}
-(not nil)                     ; @r{Emphasize the truth value @var{false}}
+(setq foo-flag nil)           ; @r{Emphasize the truth value @var{false}}
 @end example
 
-@cindex @code{t} and truth
+@cindex @code{t}, uses of
 @cindex true
   In contexts where a truth value is expected, any non-@code{nil} value
 is considered to be @var{true}.  However, @code{t} is the preferred way
@@ -209,14 +209,19 @@ choosing, use @code{t}.  The symbol @code{t} always has the value
   In Emacs Lisp, @code{nil} and @code{t} are special symbols that always
 evaluate to themselves.  This is so that you do not need to quote them
 to use them as constants in a program.  An attempt to change their
-values results in a @code{setting-constant} error.  The same is true of
-any symbol whose name starts with a colon (@samp{:}).  @xref{Constant
+values results in a @code{setting-constant} error.  @xref{Constant
 Variables}.
 
+@defun booleanp object
+Return non-nil iff @var{object} is one of the two canonical boolean
+values: @code{t} or @code{nil}.
+@end defun
+
 @node Evaluation Notation
 @subsection Evaluation Notation
 @cindex evaluation notation
 @cindex documentation notation
+@cindex notation
 
   A Lisp expression that you can evaluate is called a @dfn{form}.
 Evaluating a form always produces a result, which is a Lisp object.  In
@@ -355,11 +360,11 @@ indicates that the subsequent arguments may be omitted (omitted
 arguments default to @code{nil}).  Do not write @code{&optional} when
 you call the function.
 
-  The keyword @code{&rest} (which must be followed by a single argument
-name) indicates that any number of arguments can follow.  The single
-following argument name will have a value, as a variable, which is a
-list of all these remaining arguments.  Do not write @code{&rest} when
-you call the function.
+  The keyword @code{&rest} (which must be followed by a single
+argument name) indicates that any number of arguments can follow.  The
+single argument name following @code{&rest} will receive, as its
+value, a list of all the remaining arguments passed to the function.
+Do not write @code{&rest} when you call the function.
 
   Here is a description of an imaginary function @code{foo}:
 
@@ -450,9 +455,9 @@ from @var{body}, which includes all remaining elements of the form.
 @cindex variable descriptions
 @cindex option descriptions
 
-  A @dfn{variable} is a name that can hold a value.  Although any
-variable can be set by the user, certain variables that exist
-specifically so that users can change them are called @dfn{user
+  A @dfn{variable} is a name that can hold a value.  Although nearly
+all variables can be set by the user, certain variables exist
+specifically so that users can change them; these are called @dfn{user
 options}.  Ordinary variables and user options are described using a
 format like that for functions except that there are no arguments.