* Lisp History:: Emacs Lisp is descended from Maclisp.
* Conventions:: How the manual is formatted.
* Version Info:: Which Emacs version is running?
-* Acknowledgements:: The authors, editors, and sponsors of this manual.
+* Acknowledgments:: The authors, editors, and sponsors of this manual.
@end menu
@node Caveats
@pindex cl
A certain amount of Common Lisp emulation is available via the
-@file{cl} library. @xref{Top,, Overview, cl, Common Lisp Extensions}.
+@file{cl-lib} library. @xref{Top,, Overview, cl, Common Lisp Extensions}.
Emacs Lisp is not at all influenced by Scheme; but the GNU project has
an implementation of Scheme, called Guile. We use it in all new GNU
@result{} c
@end example
- Sometimes to help describe one form we show another form that
+ To help describe one form, we sometimes show another form that
produces identical results. The exact equivalence of two forms is
indicated with @samp{@equiv{}}.
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
+single argument name following @code{&rest} receives, as its
value, a list of all the remaining arguments passed to the function.
Do not write @code{&rest} when you call the function.
@end example
@end defun
- Any argument whose name contains the name of a type (e.g.,
-@var{integer}, @var{integer1} or @var{buffer}) is expected to be of that
-type. A plural of a type (such as @var{buffers}) often means a list of
-objects of that type. Arguments named @var{object} may be of any type.
-(@xref{Lisp Data Types}, for a list of Emacs object types.) Arguments
-with other sorts of names (e.g., @var{new-file}) are discussed
-specifically in the description of the function. In some sections,
-features common to the arguments of several functions are described at
-the beginning.
+ By convention, any argument whose name contains the name of a type
+(e.g.@: @var{integer}, @var{integer1} or @var{buffer}) is expected to
+be of that type. A plural of a type (such as @var{buffers}) often
+means a list of objects of that type. An argument named @var{object}
+may be of any type. (For a list of Emacs object types, @pxref{Lisp
+Data Types}.) An argument with any other sort of name
+(e.g.@: @var{new-file}) is specific to the function; if the function
+has a documentation string, the type of the argument should be
+described there (@pxref{Documentation}).
- @xref{Lambda Expressions}, for a more complete description of optional
-and rest arguments.
+ @xref{Lambda Expressions}, for a more complete description of
+arguments modified by @code{&optional} and @code{&rest}.
Command, macro, and special form descriptions have the same format,
-but the word `Function' is replaced by `Command', `Macro', or `Special
-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.
+but the word @samp{Function} is replaced by @samp{Command},
+@samp{Macro}, or @samp{Special 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.
The descriptions of macros and special forms use a more complex
notation to specify optional and repeated arguments, because they can
@cindex variable descriptions
@cindex option descriptions
- 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.
+ A @dfn{variable} is a name that can be @dfn{bound} (or @dfn{set}) to
+an object. The object to which a variable is bound is called a
+@dfn{value}; we say also that variable holds that 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.
Here is a description of the imaginary @code{electric-future-map}
variable.@refill
have not yet thought about executing.
@end defvar
- User option descriptions have the same format, but `Variable' is
-replaced by `User Option'.
+ User option descriptions have the same format, but @samp{Variable}
+is replaced by @samp{User Option}.
@node Version Info
@section Version Information
@defvar emacs-build-time
The value of this variable indicates the time at which Emacs was
-built. It is a list of three integers, like the value of
+built. It is a list of four integers, like the value of
@code{current-time} (@pxref{Time of Day}).
@example
@group
emacs-build-time
- @result{} (18846 52016 156039)
+ @result{} (20614 63694 515336 438000)
@end group
@end example
@end defvar
The value of this variable is the version of Emacs being run. It is a
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
+each time Emacs is built in any given directory. A value with four
numeric components, such as @code{"22.0.91.1"}, indicates an
unreleased test version.
@end defvar
23.1, the value is 1.
@end defvar
-@node Acknowledgements
-@section Acknowledgements
+@node Acknowledgments
+@section Acknowledgments
This manual was originally written by Robert Krawitz, Bil Lewis, Dan
LaLiberte, Richard@tie{}M. Stallman and Chris Welty, the volunteers of