\input texinfo @c -*-texinfo-*-
@comment %**start of header
-@setfilename ../../info/eintr
+@setfilename ../../info/eintr.info
@c setfilename emacs-lisp-intro.info
@c sethtmlfilename emacs-lisp-intro.html
@settitle Programming in Emacs Lisp
+@documentencoding UTF-8
@syncodeindex vr cp
@syncodeindex fn cp
@finalout
@c ----------------------------------------------------
-@dircategory GNU Emacs Lisp
+@dircategory Emacs lisp
@direntry
* Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming.
@end direntry
Distributed with Emacs version @value{EMACSVER}.
@end ifnottex
@sp 1
-Copyright @copyright{} 1990--1995, 1997, 2001--2013 Free Software
+Copyright @copyright{} 1990--1995, 1997, 2001--2014 Free Software
Foundation, Inc.
@sp 1
@sp 1
ISBN 1-882114-43-4
+@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; there
(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual. Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''
+@end quotation
@end copying
@c half title; two lines here, so do not use `shorttitlepage'
@node Every
@unnumberedsubsubsec Recursive Pattern: @emph{every}
@cindex Every, type of recursive pattern
-@cindex Recursive pattern: every
+@cindex Recursive pattern - every
In the @code{every} recursive pattern, an action is performed on every
element of a list.
@node Accumulate
@unnumberedsubsubsec Recursive Pattern: @emph{accumulate}
@cindex Accumulate, type of recursive pattern
-@cindex Recursive pattern: accumulate
+@cindex Recursive pattern - accumulate
Another recursive pattern is called the @code{accumulate} pattern. In
the @code{accumulate} recursive pattern, an action is performed on
@node Keep
@unnumberedsubsubsec Recursive Pattern: @emph{keep}
@cindex Keep, type of recursive pattern
-@cindex Recursive pattern: keep
+@cindex Recursive pattern - keep
A third recursive pattern is called the @code{keep} pattern.
In the @code{keep} recursive pattern, each element of a list is tested;
@node No deferment solution
@subsection No Deferment Solution
@cindex No deferment solution
-@cindex Defermentless solution
@cindex Solution without deferment
The solution to the problem of deferred operations is to write in a
@c !!! 22.1.1 lisp sources location here
@smallexample
(lengths-list-file
- "/usr/local/share/emacs/22.1.1/lisp/emacs-lisp/debug.el")
+ "/usr/local/share/emacs/22.1/lisp/emacs-lisp/debug.el")
@end smallexample
@noindent
-(You may need to change the pathname of the file; the one here is for
-GNU Emacs version 22.1.1. To change the expression, copy it to
+You may need to change the pathname of the file; the one here is for
+GNU Emacs version 22.1. To change the expression, copy it to
the @file{*scratch*} buffer and edit it.
@need 1200
@noindent
-(Also, to see the full length of the list, rather than a truncated
+Also, to see the full length of the list, rather than a truncated
version, you may have to evaluate the following:
+@c We do not want to insert, so do not mention the zero prefix argument.
@smallexample
(custom-set-variables '(eval-expression-print-length nil))
(75 41 80 62 20 45 44 68 45 12 34 235)
@end smallexample
-(The newer version of @file{debug.el} contains more defuns than the
+@noindent
+The newer version of @file{debug.el} contains more defuns than the
earlier one; and my new machine is much faster than the old one.)
Note that the length of the last definition in the file is first in
first use such a function, while its containing file is evaluated.
Rarely used functions are frequently autoloaded. The
-@file{loaddefs.el} library contains hundreds of autoloaded functions,
-from @code{bookmark-set} to @code{wordstar-mode}. Of course, you may
+@file{loaddefs.el} library contains thousands of autoloaded functions,
+from @code{5x5} to @code{zone}. Of course, you may
come to use a `rare' function frequently. When you do, you should
load that function's file with a @code{load} expression in your
@file{.emacs} file.
@group
;; Set calendar highlighting colors
-(setq calendar-load-hook
+(add-hook 'calendar-load-hook
(lambda ()
(set-face-foreground 'diary-face "skyblue")
(set-face-background 'holiday-face "slate blue")