@finalout
@c ---------
-@c <<<< Now set for smallbook, which works well with all
-@c sizes of paper and no included PostScript figures
-@c (this setting uses ASCII figures instead). >>>>
-
-@c @smallbook
-@c @clear largebook
-@c @clear print-postscript-figures
-@set largebook
+@c <<<< For hard copy printing, this file is now
+@c set for smallbook, which works for all sizes
+@c of paper, and with Postscript figures >>>>
+@smallbook
+@clear largebook
@set print-postscript-figures
+@c set largebook
+@c clear print-postscript-figures
@c ---------
@comment %**end of header
-@set edition-number 2.01
-@set update-date 2001 Nov 24
+@set edition-number 2.05
+@set update-date 2002 Jan 5
@ignore
## Summary of shell commands to create various output formats:
texi2dvi emacs-lisp-intro.texi
## HTML output
- texi2html emacs-lisp-intro.texi
makeinfo --html --no-split --verbose emacs-lisp-intro.texi
## Plain text output
@c makeinfo --no-split --paragraph-indent=0 --verbose emacs-lisp-intro.texi
@c After creating the Info file, edit your Info `dir' file, if the
-@c START-INFO-DIR-ENTRY section below does not enable your system to
+@c `dircategory' section below does not enable your system to
@c install the manual automatically.
@c (The `dir' file is often in the `/usr/local/info/' directory.)
@c tex emacs-lisp-intro.texi
@c lpr -d emacs-lisp-intro.dvi
-@c If you include the PostScript figures, you must convert the .dvi
-@c file to a .ps file before printing. Run either of the
-@c following command sequences, or one similar:
+@c If you include the PostScript figures, and you have old software,
+@c you may need to convert the .dvi file to a .ps file before
+@c printing. Run either of the following command sequences, or one
+@c similar:
@c
@c dvips -f < emacs-lisp-intro.dvi > emacs-lisp-intro.ps
@c
@c (Note: if you edit the book so as to change the length of the
@c table of contents, you may have to change the value of `pageno' below.)
-@c Remember that TeX places the Table of Contents at the end of the
-@c print run; you need to put those pages in front of the Preface.
-
@c ================ End of Formatting Sections ================
@c For next or subsequent edition:
@c ----------------------------------------------------
-@ignore
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Emacs Lisp Intro: (emacs-lisp-intro).
+@dircategory Emacs
+@direntry
+* Emacs Lisp Intro: (eintr).
A simple introduction to Emacs Lisp programming.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-@end ignore
+@end direntry
@ifinfo
This is an introduction to @cite{Programming in Emacs Lisp}, for
Edition @value{edition-number}, @value{update-date}
-Copyright (C) 1990, '91, '92, '93, '94, '95, '97, 2001 Free Software Foundation, Inc.
+Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2002 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Section being the Preface, with the Front-Cover Texts being
-no Front-Cover Texts, and with the Back-Cover Texts being no
-Back-Cover Texts. A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+any later version published by the Free Software Foundation; there
+being no Invariant Section, with the Front-Cover Texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below. A copy of
+the license is included in the section entitled ``GNU Free
+Documentation License''.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and
+modify this GNU Manual, like GNU software. Copies published by the
+Free Software Foundation raise funds for GNU development.''
@end ifinfo
@c half title; two lines here, so do not use `shorttitlepage'
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1990, '91, '92, '93, '94, '95, '97, 2001 Free Software Foundation, Inc.
+Copyright @copyright{} 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2002 Free Software Foundation, Inc.
@sp 2
Published by the Free Software Foundation, Inc.@*
Edition @value{edition-number}, @value{update-date}
@c Printed copies are available for $20 each.@*
-ISBN-1882114-41-8
+ISBN 1-882114-43-4
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Section being the Preface, with the Front-Cover Texts being
-no Front-Cover Texts, and with the Back-Cover Texts being no
-Back-Cover Texts. A copy of the license is included in the section
-entitled ``GNU Free Documentation License''.
+any later version published by the Free Software Foundation; there
+being no Invariant Section, with the Front-Cover Texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below. A copy of
+the license is included in the section entitled ``GNU Free
+Documentation License''.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and
+modify this GNU Manual, like GNU software. Copies published by the
+Free Software Foundation raise funds for GNU development.''
@end titlepage
@iftex
@oddheading @thissection @| @| @thispage
@end iftex
-@ifnottex
-@node Top, Preface, (dir), (dir)
-@top An Introduction to Programming in Emacs Lisp
+@ifnothtml
-This is an introduction to @cite{Programming in Emacs Lisp}, for
-people who are not programmers.
+@c Keep T.O.C. short by tightening up.
+@ifset largebook
+@tex
+\global\parskip 2pt plus 1pt
+\global\advance\baselineskip by -1pt
+@end tex
+@end ifset
-This master menu first lists each chapter and index; then it lists
-every node in every chapter.
-@end ifnottex
+@shortcontents
+@contents
+
+@ifset largebook
+@tex
+\global\parskip 6pt plus 1pt
+\global\advance\baselineskip by 1pt
+@end tex
+@end ifset
+
+@end ifnothtml
@c >>>> Set pageno appropriately <<<<
@end iftex
@end ifclear
+@ifnottex
+@node Top, Preface, (dir), (dir)
+@top An Introduction to Programming in Emacs Lisp
+
+This is an introduction to @cite{Programming in Emacs Lisp}, for
+people who are not programmers.
+
+This master menu first lists each chapter and index; then it lists
+every node in every chapter.
+@end ifnottex
+
@menu
* Preface:: What to look for.
* List Processing:: What is Lisp?
(switch-to-buffer (other-buffer (current-buffer) t))
@end smallexample
-@noindent
+@c noindent
In this case, the first argument to @code{other-buffer} tells it which
buffer to skip---the current one---and the second argument tells
@code{other-buffer} it is OK to switch to a visible buffer.
ordering is lexicographic, so case is significant. The print names of
symbols are used instead of the symbols themselves.
+@cindex @samp{empty string} defined
+An empty string, @samp{""}, a string with no characters in it, is
+smaller than any string of characters.
+
@code{string-equal} provides the corresponding test for equality. Its
shorter, alternative name is @code{string=}. There are no string test
functions that correspond to @var{>}, @code{>=}, or @code{<=}.
@noindent
(The expression works nearly the same as before. It sets a mark at
the highest numbered place in the buffer that it can. However, in
-this version, @code{push-mark} has two additional arguments The second
-argument to @code{push-mark} is @code{nil}. This tells the function
-it should @emph{not} display a message that says `Mark set' when it
-pushes the mark. The third argument is @code{t}. This tells
+this version, @code{push-mark} has two additional arguments. The
+second argument to @code{push-mark} is @code{nil}. This tells the
+function it @emph{should} display a message that says `Mark set' when
+it pushes the mark. The third argument is @code{t}. This tells
@code{push-mark} to activate the mark when Transient Mark mode is
turned on. Transient Mark mode highlights the currently active
region. It is usually turned off.)
@code{desired-number}. The expression that increments the count can be
a simple @code{setq} such as @code{(setq count (1+ count))}, where
@code{1+} is a built-in function in Emacs Lisp that adds 1 to its
-argument. (The expression @code{(1+ count)} has the same result as
-@code{(+ count 1)}, but is easier for a human to read.)
+argument. (The expression @w{@code{(1+ count)}} has the same result as
+@w{@code{(+ count 1)}}, but is easier for a human to read.)
@need 1250
The template for a @code{while} loop controlled by an incrementing
@item
Install @code{graph-symbol}, @code{graph-blank},
@code{column-of-graph}, which are in
-@ref{Columns of a graph, , Printing the Columns of a Graph},
+@iftex
+@ref{Readying a Graph, , Readying a Graph},
+@end iftex
+@ifinfo
+@ref{Columns of a graph},
+@end ifinfo
and @code{graph-body-print}.
@need 800
@comment node-name, next, previous, up
@unnumbered Index
-@ifnottex
+@ignore
MENU ENTRY: NODE NAME.
-@end ifnottex
+@end ignore
@printindex cp
@oddheading @| @| @thispage
@end iftex
-@c Keep T.O.C. short by tightening up.
-@ifset largebook
-@tex
-\global\parskip 2pt plus 1pt
-\global\advance\baselineskip by -1pt
-@end tex
-@end ifset
-
-@shortcontents
-@contents
-
@bye