]> code.delx.au - gnu-emacs/blobdiff - doc/lispref/intro.texi
Merge from pending; try to fix-up suboptimal ses ChangeLog.
[gnu-emacs] / doc / lispref / intro.texi
index 951de29292262510ab44bab414d99e982cba3a32..d3a5b253162ce187c03f768723d3a64536b3f03a 100644 (file)
@@ -1,9 +1,7 @@
-@c -*-texinfo-*-
+@c -*-coding: iso-latin-1-*-
 @c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 2001, 2002, 2003, 2004,
-@c   2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
 @c See the file elisp.texi for copying conditions.
-@setfilename ../../info/intro
 
 @node Introduction, Lisp Data Types, Top, Top
 @comment  node-name,  next,  previous,  up
@@ -55,7 +53,7 @@ but not flawless.  There are a few topics that are not covered, either
 because we consider them secondary (such as most of the individual
 modes) or because they are yet to be written.  Because we are not able
 to deal with them completely, we have left out several parts
-intentionally.  This includes most information about usage on VMS.
+intentionally.
 
   The manual should be fully correct in what it does cover, and it is
 therefore open to criticism on anything it says---from specific examples
@@ -86,19 +84,7 @@ you are criticizing.
 
 @cindex bugs
 @cindex suggestions
-Please mail comments and corrections to
-
-@example
-bug-lisp-manual@@gnu.org
-@end example
-
-@noindent
-We let mail to this list accumulate unread until someone decides to
-apply the corrections.  Months, and sometimes years, go by between
-updates.  So please attach no significance to the lack of a reply---your
-mail @emph{will} be acted on in due time.  If you want to contact the
-Emacs maintainers more quickly, send mail to
-@code{bug-gnu-emacs@@gnu.org}.
+Please send comments and corrections using @kbd{M-x report-emacs-bug}.
 
 @node Lisp History
 @section Lisp History
@@ -114,7 +100,7 @@ for other purposes as well, such as writing editing commands.
   Dozens of Lisp implementations have been built over the years, each
 with its own idiosyncrasies.  Many of them were inspired by Maclisp,
 which was written in the 1960s at MIT's Project MAC.  Eventually the
-implementors of the descendants of Maclisp came together and developed a
+implementers of the descendants of Maclisp came together and developed a
 standard for Lisp systems, called Common Lisp.  In the meantime, Gerry
 Sussman and Guy Steele at MIT developed a simplified but very powerful
 dialect of Lisp, called Scheme.
@@ -163,7 +149,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 in this manual
+@cindex typographic conventions
   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}.
@@ -175,7 +161,7 @@ being described, are formatted like this: @var{first-number}.
 
 @cindex @code{nil}
 @cindex false
-  In Lisp, the symbol @code{nil} has three separate meanings: it
+  In Emacs Lisp, the symbol @code{nil} has three separate meanings: it
 is a symbol with the name @samp{nil}; it is the logical truth value
 @var{false}; and it is the empty list---the list of zero elements.
 When used as a variable, @code{nil} always has the value @code{nil}.
@@ -213,8 +199,8 @@ values results in a @code{setting-constant} error.  @xref{Constant
 Variables}.
 
 @defun booleanp object
-Return non-nil if @var{object} is one of the two canonical boolean
-values: @code{t} or @code{nil}.
+Return non-@code{nil} if @var{object} is one of the two canonical
+boolean values: @code{t} or @code{nil}.
 @end defun
 
 @node Evaluation Notation
@@ -260,7 +246,7 @@ indicated with @samp{@equiv{}}.
 
   Many of the examples in this manual print text when they are
 evaluated.  If you execute example code in a Lisp Interaction buffer
-(such as the buffer @samp{*scratch*}), the printed text is inserted into
+(such as the buffer @file{*scratch*}), the printed text is inserted into
 the buffer.  If you execute the example by other means (such as by
 evaluating the function @code{eval-region}), the printed text is
 displayed in the echo area.
@@ -409,13 +395,14 @@ Form', respectively.  Commands are simply functions that may be called
 interactively; macros process their arguments differently from functions
 (the arguments are not evaluated), but are presented the same way.
 
-  Special form descriptions use a more complex notation to specify
-optional and repeated arguments because they can break the argument
-list down into separate arguments in more complicated ways.
-@samp{@r{[}@var{optional-arg}@r{]}} means that @var{optional-arg} is
-optional and @samp{@var{repeated-args}@dots{}} stands for zero or more
-arguments.  Parentheses are used when several arguments are grouped into
-additional levels of list structure.  Here is an example:
+  The descriptions of macros and special forms use a more complex
+notation to specify optional and repeated arguments, because they can
+break the argument list down into separate arguments in more
+complicated ways.  @samp{@r{[}@var{optional-arg}@r{]}} means that
+@var{optional-arg} is optional and @samp{@var{repeated-args}@dots{}}
+stands for zero or more arguments.  Parentheses are used when several
+arguments are grouped into additional levels of list structure.  Here
+is an example:
 
 @defspec count-loop (@var{var} [@var{from} @var{to} [@var{inc}]]) @var{body}@dots{}
 This imaginary special form implements a loop that executes the
@@ -486,75 +473,78 @@ running.  It is useful to include this string in bug reports.
 @smallexample
 @group
 (emacs-version)
-  @result{} "GNU Emacs 20.3.5 (i486-pc-linux-gnulibc1, X toolkit)
of Sat Feb 14 1998 on psilocin.gnu.org"
+  @result{} "GNU Emacs 23.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
            of 2009-06-01 on cyd.mit.edu"
 @end group
 @end smallexample
 
 If @var{here} is non-@code{nil}, it inserts the text in the buffer
-before point, and returns @code{nil}.  Called interactively, the
-function prints the same information in the echo area, but giving a
-prefix argument makes @var{here} non-@code{nil}.
+before point, and returns @code{nil}.  When this function is called
+interactively, it prints the same information in the echo area, but
+giving a prefix argument makes @var{here} non-@code{nil}.
 @end deffn
 
 @defvar emacs-build-time
-The value of this variable indicates the time at which Emacs was built
-at the local site.  It is a list of three integers, like the value
-of @code{current-time} (@pxref{Time of Day}).
+The value of this variable indicates the time at which Emacs was
+built.  It is a list of three integers, like the value of
+@code{current-time} (@pxref{Time of Day}).
 
 @example
 @group
 emacs-build-time
-     @result{} (13623 62065 344633)
+     @result{} (18846 52016 156039)
 @end group
 @end example
 @end defvar
 
 @defvar emacs-version
 The value of this variable is the version of Emacs being run.  It is a
-string such as @code{"20.3.1"}.  The last number in this string is not
-really part of the Emacs release version number; it is incremented each
-time you build Emacs in any given directory.  A value with four numeric
-components, such as @code{"20.3.9.1"}, indicates an unreleased test
-version.
+string such as @code{"23.1.1"}.  The last number in this string is not
+really part of the Emacs release version number; it is incremented
+each time you build Emacs in any given directory.  A value with four
+numeric components, such as @code{"22.0.91.1"}, indicates an
+unreleased test version.
 @end defvar
 
   The following two variables have existed since Emacs version 19.23:
 
 @defvar emacs-major-version
 The major version number of Emacs, as an integer.  For Emacs version
-20.3, the value is 20.
+23.1, the value is 23.
 @end defvar
 
 @defvar emacs-minor-version
 The minor version number of Emacs, as an integer.  For Emacs version
-20.3, the value is 3.
+23.1, the value is 1.
 @end defvar
 
 @node Acknowledgements
 @section Acknowledgements
 
-  This manual was written by Robert Krawitz, Bil Lewis, Dan LaLiberte,
-Richard@tie{}M. Stallman and Chris Welty, the volunteers of the GNU
-manual group, in an effort extending over several years.
+  This manual was originally written by Robert Krawitz, Bil Lewis, Dan
+LaLiberte, Richard@tie{}M. Stallman and Chris Welty, the volunteers of
+the GNU manual group, in an effort extending over several years.
 Robert@tie{}J. Chassell helped to review and edit the manual, with the
 support of the Defense Advanced Research Projects Agency, ARPA Order
 6082, arranged by Warren@tie{}A. Hunt, Jr.@: of Computational Logic,
-Inc.
-
-  Corrections were supplied by Karl Berry, Jim Blandy, Bard Bloom,
-Stephane Boucher, David Boyes, Alan Carroll, Richard Davis, Lawrence
-R. Dodd, Peter Doornbosch, David A. Duff, Chris Eich, Beverly
-Erlebacher, David Eckelkamp, Ralf Fassel, Eirik Fuller, Stephen Gildea,
-Bob Glickstein, Eric Hanchrow, George Hartzell, Nathan Hess, Masayuki
-Ida, Dan Jacobson, Jak Kirman, Bob Knighten, Frederick M. Korz, Joe
-Lammens, Glenn M. Lewis, K. Richard Magill, Brian Marick, Roland
-McGrath, Skip Montanaro, John Gardiner Myers, Thomas A. Peterson,
-Francesco Potorti, Friedrich Pukelsheim, Arnold D. Robbins, Raul
-Rockwell, Per Starb@"ack, Shinichirou Sugou, Kimmo Suominen, Edward Tharp,
-Bill Trost, Rickard Westman, Jean White, Matthew Wilding, Carl Witty,
-Dale Worley, Rusty Wright, and David D. Zuhn.
-
-@ignore
-   arch-tag: d156593f-82f8-4708-a844-204e48f7f2aa
-@end ignore
+Inc.  Additional sections have since been written by Miles Bader, Lars
+Brinkhoff, Chong Yidong, Kenichi Handa, Lute Kamstra, Juri Linkov,
+Glenn Morris, Thien-Thi Nguyen, Dan Nicolaescu, Martin Rudalics, Kim
+F. Storm, Luc Teirlinck, and Eli Zaretskii, and others.
+
+  Corrections were supplied by Drew Adams, Juanma Barranquero, Karl
+Berry, Jim Blandy, Bard Bloom, Stephane Boucher, David Boyes, Alan
+Carroll, Richard Davis, Lawrence R. Dodd, Peter Doornbosch, David
+A. Duff, Chris Eich, Beverly Erlebacher, David Eckelkamp, Ralf Fassel,
+Eirik Fuller, Stephen Gildea, Bob Glickstein, Eric Hanchrow, Jesper
+Harder, George Hartzell, Nathan Hess, Masayuki Ida, Dan Jacobson, Jak
+Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis,
+K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip
+Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti,
+Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney,
+Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill
+Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding,
+Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn.
+
+  For a more complete list of contributors, please see the relevant
+ChangeLog file in the Emacs sources.