changeset 73587:c84b73607df3

Removed INSTALL MANIFEST since those files are now irrelevant.
author Robert J. Chassell <bob@rattlesnake.com>
date Tue, 31 Oct 2006 16:41:49 +0000
parents 50921825dc28
children 456e964db88e
files lispintro/INSTALL lispintro/MANIFEST lispintro/README lispintro/emacs-lisp-intro.texi
diffstat 4 files changed, 64 insertions(+), 372 deletions(-) [+]
line wrap: on
line diff
--- a/lispintro/INSTALL	Tue Oct 31 16:40:11 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-Basic Installation for  An Introduction to Programming in Emacs Lisp  version 2
-==================
-
-    # To see the table of contents of the emacs-lisp-intro-2.00.tar.gz
-    # file, execute the following at your shell prompt:
-
-    tar -tzvf emacs-lisp-intro-2.00.tar.gz
-
-    # To uncompress and untar the file, execute the following:
-
-    tar -xzvf emacs-lisp-intro-2.00.tar.gz
-
-    # The file will untar into a subdirectory called emacs-lisp-intro-2.00
-    # That directory will contain the Texinfo source for the book, the
-    # Info files and various other files.
-
-    cd emacs-lisp-intro-2.00
-
-    # To create a DVI file that can be printed directly or converted
-    # to PostScript or PDF and then printed, execute the following:
-
-    ./configure
-    make dvi
-
-    # To create an HTML file, execute the following
-    #   (presumably you have already executed the `./configure' command
-    #    before running `make dvi'; if not execute `./configure' now);
-    # this will place HTML files into a emacs-lisp-intro/ subdirectory:
-
-    makeinfo --html --verbose emacs-lisp-intro.texi
-
-    # To create a single, large HTML file in the current directory,
-    # use the --no-split option, like this:
-
-    makeinfo --html --no-split --verbose emacs-lisp-intro.texi
-
-        # At the time of writing, `makeinfo' version 4.0b creates HTML
-        # files with %20 in addresses instead of a space.  Some
-        # browsers have difficulty following such references.  In
-        # GNU Emacs, you can replace the occurrences of %20 with a
-        # command such as
-        #              (replace-string "%20" " ")
-
-    # To create a single, large Info file in the current directory
-    # instead of the usual 16 smaller Info files, and also, to avoid
-    # indenting paragraphs, execute:
-
-    makeinfo --no-split --paragraph-indent=0 --verbose emacs-lisp-intro.texi
-
-    # To create a single, large Plain text file in the current
-    # directory, execute:
-
-    makeinfo --fill-column=70 --no-split --paragraph-indent=0 \
-    --verbose --no-headers --output=emacs-lisp-intro.txt emacs-lisp-intro.texi
-
-###
--- a/lispintro/MANIFEST	Tue Oct 31 16:40:11 2006 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-`emacs-lisp-intro-2.00.tar' contains:
-
-        size  filename
-
-        2102  INSTALL
-        1482  MANIFEST
-       10295  Makefile
-         358  Makefile.am
-       10215  Makefile.in
-        5642  README
-        3542  aclocal.m4
-        7129  drawers.eps
-       36057  configure
-         142  configure.in
-       12136  cons-1.eps
-       12523  cons-2.eps
-       12420  cons-2a.eps
-       12984  cons-3.eps
-       13866  cons-4.eps
-       12986  cons-5.eps
-      772149  emacs-lisp-intro.texi
-        5584  install-sh
-       10252  lambda-1.eps
-       10278  lambda-2.eps
-       10275  lambda-3.eps
-        4650  missing
-         732  mkinstalldirs
-      207383  texinfo.tex
-
-###
--- a/lispintro/README	Tue Oct 31 16:40:11 2006 +0000
+++ b/lispintro/README	Tue Oct 31 16:41:49 2006 +0000
@@ -1,16 +1,17 @@
-This directory contains the source of the "Introduction to programming
+This directory contains the source of the "Introduction to Programming
 in Emacs Lisp" written by Robert J. Chassell, bob@gnu.org.  This
 manual is an elementary introduction to programming in Emacs Lisp for
 people who are not programmers, and who are not necessarily interested
 in programming, but who do want to customize or extend their computing
 environment.
 
-This second edition of 2001 Nov 20 updates the previous editions to
-GNU Emacs 21.
+This third edition of 2006 Oct 31 updates the previous editions to GNU
+Emacs 22.
 
 The Texinfo source file `emacs-lisp-intro.texi', formats without
-error using TeX version 3.14159, `kpathsea' version 3.3.1,
-`texinfo.tex' version 2001-05-24.08, and `makeinfo' version 4.0b.
+reported error using `pdfeTeXk', Version 3.141592-1.21a-2.2 (Web2C
+7.5.4) and texinfo.tex version 2006-08-26.17 started by `texi2dvi'
+version 4.8, and with `makeinfo' version 4.8.
 
 Also, this tar file contains the following optional Encapsulated Post
 Script figures.
@@ -56,5 +57,5 @@
 You will find additional instructions on formatting in the beginning
 of the Texinfo file 'emacs-lisp-intro.texi'.  Best Wishes!
 
-2001 Nov  20
+2006 Oct 31
 Robert J. Chassell, bob@gnu.org
--- a/lispintro/emacs-lisp-intro.texi	Tue Oct 31 16:40:11 2006 +0000
+++ b/lispintro/emacs-lisp-intro.texi	Tue Oct 31 16:41:49 2006 +0000
@@ -24,8 +24,8 @@
 
 @comment %**end of header
 
-@set edition-number 2.15
-@set update-date 2006 Oct 30
+@set edition-number 3.00
+@set update-date 2006 Oct 31
 
 @ignore
  ## Summary of shell commands to create various output formats:
@@ -34,15 +34,16 @@
     ## pushd /u/intro/
 
     ## Info output
-    makeinfo --no-split --paragraph-indent=0 --verbose emacs-lisp-intro.texi
+    # makeinfo --no-split --paragraph-indent=0 --verbose emacs-lisp-intro.texi
+    makeinfo --paragraph-indent=0 --verbose emacs-lisp-intro.texi
 
     ## ;; (progn (when (bufferp (get-buffer "*info*")) (kill-buffer "*info*")) (info "/u/intro/emacs-lisp-intro.info"))
 
     ## DVI output
-    texi2dvi /u/intro/emacs-lisp-intro.texi
+    texi2dvi emacs-lisp-intro.texi
 
       ## View DVI output; see below also
-       # xdvi -margins 24pt -topmargin 4pt -offsets 24pt -geometry 760x1140 -s 5 -useTeXpages -mousemode 1 /u/intro/emacs-lisp-intro.dvi &
+       # xdvi -margins 24pt -topmargin 4pt -offsets 24pt -geometry 760x1140 -s 5 -useTeXpages -mousemode 1 emacs-lisp-intro.dvi &
 
     ## HTML output
     makeinfo --html --no-split --verbose emacs-lisp-intro.texi
@@ -72,12 +73,7 @@
       ## View Info output with standalone reader
       info emacs-lisp-intro.info
 
-    ## popd
-
-Need to explain defcustom  see (elisp)Customization  (elisp)Variable Definitions
-                defsubst
-                defconst
-
+      ## popd
 
 
 # as user `root'
@@ -97,7 +93,6 @@
 @c Your site may require editing changes to print PostScript; in this
 @c case, search for `print-postscript-figures' and make appropriate changes.
 
-
 @c ================ How to Create an Info file ================
 
 @c If you have `makeinfo' installed, run the following command
@@ -265,7 +260,7 @@
 @sp 2
 @center @titlefont{Programming in Emacs Lisp}
 @sp 2
-@center Revised Second Edition
+@center Revised Third Edition
 @sp 4
 @center by Robert J. Chassell
 
@@ -372,7 +367,7 @@
 
 * Numbers Lists::               List have numbers, other lists, in them.
 * Lisp Atoms::                  Elemental entities.
-* Whitespace in Lists::         Formating lists to be readable.
+* Whitespace in Lists::         Formatting lists to be readable.
 * Typing Lists::                How GNU Emacs helps you type lists.
 
 The Lisp Interpreter
@@ -1747,7 +1742,7 @@
 of drawers.  The function definition is put in one drawer, the value in
 another, and so on.  What is put in the drawer holding the value can be
 changed without affecting the contents of the drawer holding the
-function definition, and vice-versa.
+function definition, and vice-verse.
 
 @menu
 * fill-column Example::
@@ -2712,7 +2707,7 @@
 evaluate the symbols as variables.  @xref{Variables}.)
 
 In spite of the distinction between files and buffers, you will often
-find that people refer to a file when they mean a buffer and vice-versa.
+find that people refer to a file when they mean a buffer and vice-verse.
 Indeed, most people say, ``I am editing a file,'' rather than saying,
 ``I am editing a buffer which I will soon save to a file.''  It is
 almost always clear from context what people mean.  When dealing with
@@ -3277,7 +3272,6 @@
 @unnumberedsubsec The effect of installation
 @end ifnottex
 
-
 You can see the effect of installing @code{multiply-by-seven} by
 evaluating the following sample.  Place the cursor after the following
 expression and type @kbd{C-x C-e}.  The number 21 will appear in the
@@ -5610,7 +5604,7 @@
 attention, so you don't know that that buffer is now called
 @code{oldbuf}).
 
-Incidently, this is what is meant by `replacement'.  To replace text,
+Incidentally, this is what is meant by `replacement'.  To replace text,
 Emacs erases the previous text and then inserts new text.
 
 @need 1250
@@ -5850,7 +5844,7 @@
 @noindent
 @code{not} is a function that returns true if its argument is false
 and false if its argument is true.  So if @code{(bufferp buffer)}
-returns true, the @code{not} expression returns false and vice-versa:
+returns true, the @code{not} expression returns false and vice-verse:
 what is ``not true'' is false and what is ``not false'' is true.
 
 Using this test, the @code{if} expression works as follows: when the
@@ -7433,7 +7427,7 @@
 this expression in the usual fashion, by positioning the cursor after
 the expression and typing @kbd{C-x C-e}.  (I'm doing this right here
 as I write this.  This is one of the advantages of having the
-interpreter built into the computing environment.  Incidently, when
+interpreter built into the computing environment.  Incidentally, when
 there is nothing on the line after the final parentheses, such as a
 comment, point can be on the next line.  Thus, if your cursor is in
 the first column of the next line, you do not need to move it.
@@ -7773,7 +7767,7 @@
 
 In a read-only buffer, the @code{zap-to-char} function copies the text
 to the kill ring, but does not remove it.  The echo area displays a
-message saying that the buffer is read-ly.  Also, the terminal may
+message saying that the buffer is read-only.  Also, the terminal may
 beep or blink at you.
 
 Let us continue with the interactive specification.
@@ -7836,7 +7830,6 @@
 the target.  Also, @code{search-forward} returns @code{t} for true.
 (Moving point is therefore a `side effect'.)
 
-
 @need 1250
 In @code{zap-to-char}, the @code{search-forward} function looks like this:
 
@@ -8027,64 +8020,6 @@
        (barf-if-buffer-read-only)
        ;; If the buffer isn't read-only, the text is.
        (signal 'text-read-only (list (current-buffer)))))))
-
-
-kfstorm  18-Jan-03): (defun kill-region (beg end &optional yank-handler)
-rms      11-Mar-06):   "Kill (\"cut\") text between point and mark.
-rms      11-Mar-06): This deletes the text from the buffer and saves it in the kill ring.
-jimb     21-Dec-91): The command \\[yank] can retrieve it from there.
-eliz     16-Feb-01): \(If you want to kill and then yank immediately, use \\[kill-ring-save].)
-eliz     16-Feb-01):
-eliz     16-Feb-01): If you want to append the killed region to the last killed text,
-eliz     16-Feb-01): use \\[append-next-kill] before \\[kill-region].
-eliz     16-Feb-01):
-jimb     01-Feb-93): If the buffer is read-only, Emacs will beep and refrain from deleting
-jimb     01-Feb-93): the text, but put the text in the kill ring anyway.  This means that
-jimb     01-Feb-93): you can use the killing commands to copy text from a read-only buffer.
-jimb     21-Dec-91):
-jimb     21-Dec-91): This is the primitive for programs to kill text (as opposed to deleting it).
-lektu    07-Jun-04): Supply two arguments, character positions indicating the stretch of text
-jimb     21-Dec-91):  to be killed.
-jimb     21-Dec-91): Any command that calls this function is a \"kill command\".
-jimb     21-Dec-91): If the previous command was also a kill command,
-jimb     21-Dec-91): the text killed this time appends to the text killed last time
-kfstorm  18-Jan-03): to make one entry in the kill ring.
-kfstorm  18-Jan-03):
-uid68472 18-Feb-04): In Lisp code, optional third arg YANK-HANDLER, if non-nil,
-uid68472 18-Feb-04): specifies the yank-handler text property to be set on the killed
-uid68472 18-Feb-04): text.  See `insert-for-yank'."
-rms      21-May-06):   ;; Pass point first, then mark, because the order matters
-rms      21-May-06):   ;; when calling kill-append.
-rms      21-May-06):   (interactive (list (point) (mark)))
-rms      04-Sep-06):   (unless (and beg end)
-rms      04-Sep-06):     (error "The mark is not set now, so there is no region"))
-kwzh     19-Nov-97):   (condition-case nil
-rms      29-Mar-05):       (let ((string (filter-buffer-substring beg end t)))
-monnier  07-Dec-99): 	(when string			;STRING is nil if BEG = END
-monnier  07-Dec-99): 	  ;; Add that string to the kill ring, one way or another.
-monnier  07-Dec-99): 	  (if (eq last-command 'kill-region)
-kfstorm  18-Jan-03): 	      (kill-append string (< end beg) yank-handler)
-kfstorm  18-Jan-03): 	    (kill-new string nil yank-handler)))
-kai      28-May-03): 	(when (or string (eq last-command 'kill-region))
-uid68472 18-Feb-04): 	  (setq this-command 'kill-region))
-uid68472 18-Feb-04): 	nil)
-kwzh     19-Nov-97):     ((buffer-read-only text-read-only)
-kwzh     19-Nov-97):      ;; The code above failed because the buffer, or some of the characters
-kwzh     19-Nov-97):      ;; in the region, are read-only.
-kwzh     19-Nov-97):      ;; We should beep, in case the user just isn't aware of this.
-kwzh     19-Nov-97):      ;; However, there's no harm in putting
-kwzh     19-Nov-97):      ;; the region's text in the kill ring, anyway.
-kwzh     19-Nov-97):      (copy-region-as-kill beg end)
-rms      19-May-98):      ;; Set this-command now, so it will be set even if we get an error.
-rms      19-May-98):      (setq this-command 'kill-region)
-rms      19-May-98):      ;; This should barf, if appropriate, and give us the correct error.
-kwzh     19-Nov-97):      (if kill-read-only-ok
-uid68472 18-Feb-04): 	 (progn (message "Read only text copied to kill ring") nil)
-kwzh     19-Nov-97):        ;; Signal an error if the buffer is read-only.
-kwzh     19-Nov-97):        (barf-if-buffer-read-only)
-kwzh     19-Nov-97):        ;; If the buffer isn't read-only, the text is.
-kwzh     19-Nov-97):        (signal 'text-read-only (list (current-buffer)))))))
-
 @end ignore
 
 The Emacs 22 version of that function uses @code{condition-case} and
@@ -8198,7 +8133,7 @@
 @group
     ;;    The first part of the third argument is the following:
     ((buffer-read-only text-read-only) ;; the if-part
-     ;; then @dots{}
+     ;; @dots{}  the then-part
      (copy-region-as-kill beg end)
 @end group
 @group
@@ -8364,7 +8299,6 @@
 @end group
 @end smallexample
 
-
 @ignore
 2006 Oct 24
 In Emacs 22,
@@ -8936,7 +8870,6 @@
 ring to what results from adding the string being killed to the old
 kill ring.
 
-
 We can see how this works with an example.
 
 @need 800
@@ -9150,7 +9083,6 @@
 to learn how lists are implemented in a computer.  This will make
 clear such mysteries as the use of the term `pointer'.
 
-
 @ignore
 @c is this true in Emacs 22?   Does not seems to be
 
@@ -10037,7 +9969,7 @@
 being a chest of drawers.  The function definition is put in one
 drawer, the value in another, and so on.  What is put in the drawer
 holding the value can be changed without affecting the contents of the
-drawer holding the function definition, and vice-versa.
+drawer holding the function definition, and vice-verse.
 
 Actually, what is put in each drawer is the address of the value or
 function definition.  It is as if you found an old chest in the attic,
@@ -10313,7 +10245,6 @@
 of the kill ring of which the first element (the @sc{car}) will be
 inserted.
 
-
 @ignore
 In GNU Emacs 22, the @code{kill-new} function calls
 
@@ -12537,7 +12468,7 @@
 (Note that here the @key{TAB}, two spaces, and  @key{RET} are shown
 literally in the pattern.)
 
-This regular expression can be decyphered as follows:
+This regular expression can be deciphered as follows:
 
 @table @code
 @item [.?!]
@@ -13330,7 +13261,6 @@
                   (looking-at fill-prefix-regexp))
         (forward-line 1))
 
-
     (while (and (re-search-forward sp-parstart nil 1)
                 (progn (setq start (match-beginning 0))
                        (goto-char start)
@@ -15331,20 +15261,6 @@
  "/usr/local/share/emacs/22.0.100/lisp/emacs-lisp/debug.el")
 @end smallexample
 
-@c was: (lengths-list-file "../lisp/debug.el")
-@ignore
-2006 Oct 29
-For Bob, as root,
-    gunzip /usr/local/share/emacs/22.0.50/lisp/emacs-lisp/debug.el.gz
-In GNU Emacs 22, in *info* eval
-  count-words-in-defun
-in      The `count-words-in-defun' Function
-  count-words-in-defun
-in      `lengths-list-file' in Detail
-then eval
- (lengths-list-file "/usr/local/share/emacs/22.0.50/lisp/emacs-lisp/debug.el")
-@end ignore
-
 @noindent
 (You may need to change the pathname of the file; the one here is for
 GNU Emacs version 22.0.100.  To change the expression, copy it to
@@ -15365,7 +15281,7 @@
 
 @need 1200
 The lengths' list for @file{debug.el} takes less than a second to
-produce and looks like this in GNY Emacs 22:
+produce and looks like this in GNU Emacs 22:
 
 @smallexample
 (83 113 105 144 289 22 30 97 48 89 25 52 52 88 28 29 77 49 43 290 232 587)
@@ -15475,14 +15391,6 @@
 name to the absolute, long, path name form of the directory in which
 the function is called.
 
-@ignore
-2006 Oct 29
-For Bob, as root,
-    gunzip /usr/local/share/emacs/22.0.50/lisp/emacs-lisp/debug.el.gz
-In GNU Emacs 22,  eval
-(expand-file-name "/usr/local/share/emacs/22.0.50/lisp/emacs-lisp/debug.el")
-@end ignore
-
 @c !!! 22.0.100 lisp sources location here
 @need 1500
 Thus, if @code{expand-file-name} is called on @code{debug.el} when
@@ -15591,14 +15499,6 @@
 for files from Emacs Version 22.0.100; files from other versions of
 Emacs may produce different results.)
 
-@ignore
-2006 Oct 29
-For Bob, as root,
-    gunzip /usr/local/share/emacs/22.0.50/lisp/macros.el.gz
-In GNU Emacs 22,  eval
-    (lengths-list-file "/usr/local/share/emacs/22.0.50/lisp/macros.el")
-@end ignore
-
 @c !!! 22.0.100 lisp sources location here
 @smallexample
 @group
@@ -15608,43 +15508,16 @@
      @result{} (283 263 480 90)
 @end group
 
-@ignore
-2006 Oct 29
-For Bob, as root,
-    gunzip /usr/local/share/emacs/22.0.50/lisp/mail/mailalias.el.gz
-In GNU Emacs 22,  eval
-    (lengths-list-file "/usr/local/share/emacs/22.0.50/lisp/mail/mailalias.el")
-@end ignore
-
 @group
 (lengths-list-file "./lisp/mail/mailalias.el")
      @result{} (38 32 29 95 178 180 321 218 324)
 @end group
 
-@ignore
-2006 Oct 29
-For Bob, as root,
-    gunzip /usr/local/share/emacs/22.0.50/lisp/makesum.el
-In GNU Emacs 22,  eval
-    (lengths-list-file "/usr/local/share/emacs/22.0.50/lisp/makesum.el")
-@end ignore
-
 @group
 (lengths-list-file "./lisp/makesum.el")
      @result{} (85 181)
 @end group
 
-@ignore
-2006 Oct 29
-In GNU Emacs 22,  eval
-(progn
-  (cd "/usr/local/share/emacs/22.0.50/")
-  (recursive-lengths-list-many-files
-   '("./lisp/macros.el"
-     "./lisp/mail/mailalias.el"
-     "./lisp/makesum.el")))
-@end ignore
-
 @group
   (recursive-lengths-list-many-files
    '("./lisp/macros.el"
@@ -15826,13 +15699,6 @@
 element of the list is @code{t} for a directory, a string
 for symbolic link (the string is the name linked to), or @code{nil}.
 
-@ignore
-(directory-files-and-attributes "/usr/local/src/emacs") -->
-(... ("lisp" t 21 1000 100 (17733 259) (17732 36064) (17732 36064) 12288
-"drwxr-xr-x" nil 2971606 773))
-@end ignore
-
-
 For example, the first @samp{.el} file in the @file{lisp/} directory
 is @file{abbrev.el}.  Its name is
 @file{/usr/local/share/emacs/22.0.100/lisp/abbrev.el} and it is not a
@@ -15842,12 +15708,6 @@
 This is how @code{directory-files-and-attributes} lists that file and
 its attributes:
 
-@ignore
-(directory-files-and-attributes "/usr/local/src/emacs/lisp") -->
-(... ("abbrev.el" nil 1 1000 100 (17733 259) (17491 28834) (17596 62124)
-13157 "-rw-r--r--" nil 2971624 773) ...)
-@end ignore
-
 @smallexample
 @group
 ("abbrev.el"
@@ -17312,6 +17172,13 @@
 I myself use @code{customize} for hardly anything.  Mostly, I write
 expressions myself.
 
+@findex defsubst 
+@findex defconst 
+Incidentally, @code{defsubst} defines an inline function.  The syntax
+is just like that of @code{defun}.  @code{defconst} defines a symbol
+as a constant.  The intent is that neither programs nor users should
+ever change a value set by @code{defconst}
+
 @node Beginning a .emacs File, Text and Auto-fill, defcustom, Emacs Initialization
 @section Beginning a @file{.emacs} File
 @cindex @file{.emacs} file, beginning of
@@ -17621,7 +17488,7 @@
 `press the @kbd{w} key'.  The keybinding is surrounded by double
 quotation marks.  In documentation, you would write this as @kbd{C-c
 w}.  (If you were binding a @key{META} key, such as @kbd{M-c}, rather
-than a @key{CTL} key, you would write @code{\M-c}.  @xref{Init
+than a @key{CTRL} key, you would write @code{\M-c}.  @xref{Init
 Rebinding, , Rebinding Keys in Your Init File, emacs, The GNU Emacs
 Manual}, for details.)
 
@@ -18188,8 +18055,8 @@
 @end smallexample
 
 @item
-Convert @kbd{@key{CTL}-h} into @key{DEL} and @key{DEL}
-into @kbd{@key{CTL}-h}.@*
+Convert @kbd{@key{CTRL}-h} into @key{DEL} and @key{DEL}
+into @kbd{@key{CTRL}-h}.@*
 (Some older keyboards needed this, although I have not seen the
 problem recently.)
 
@@ -18268,7 +18135,7 @@
 @cindex Bindings, key, fixing unpleasant
 
 Some systems bind keys unpleasantly.  Sometimes, for example, the
-@key{CTL} key appears in an awkward spot rather than at the far left
+@key{CTRL} key appears in an awkward spot rather than at the far left
 of the home row.
 
 Usually, when people fix these sorts of keybindings, they do not
@@ -18643,7 +18510,7 @@
 manually.
 @end ignore
 
-Incidently, you can start the debugger manually for all versions of
+Incidentally, you can start the debugger manually for all versions of
 Emacs; the advantage is that the debugger runs even if you do not have
 a bug in your code.  Sometimes your code will be free of bugs!
 
@@ -18966,7 +18833,7 @@
 @item
 While running Edebug, type @kbd{?} to see a list of all the Edebug commands.
 (The @code{global-edebug-prefix} is usually @kbd{C-x X}, i.e.@:
-@kbd{@key{CTL}-x} followed by an upper case @kbd{X}; use this prefix
+@kbd{@key{CTRL}-x} followed by an upper case @kbd{X}; use this prefix
 for commands made outside of the Edebug debugging buffer.)
 
 @item
@@ -19205,105 +19072,6 @@
 You can substitute the other regular expressions shown above in the
 function definition and try each of them on this list.
 
-@c done til here 2006 Oct 29
-
-@ignore
-
-
-
-@end ignore
-
-
-@ignore
-as of GNU Emacs 22, this no longer seems to be the case
-with  yank  yank-pop
-
-guts of rotate-yank-pointer moved to current-kill
-in simple.el
-
-(defun current-kill (n &optional do-not-move)
-  "Rotate the yanking point by N places, and then return that kill.
-
-critical part is:
-
-      (let ((ARGth-kill-element
-	     (nthcdr (mod (- n (length kill-ring-yank-pointer))
-			  (length kill-ring))
-		     kill-ring)))
-	(or do-not-move
-	    (setq kill-ring-yank-pointer ARGth-kill-element))
-	(car ARGth-kill-element))
-
-
-
-    (mod X Y)
-    Return X modulo Y.
-
-    (% X Y)
-    Return remainder of X divided by Y.
-
-    (mod 12 3)  0 (#o0, #x0, ?\C-@)
-    (mod 4 3)   1
-    (mod 13 3)  1
-
-    (% 12 3)    0
-    (% 4 3)     1
-    (% 13 3)    1
-
-         mod   returns the value of DIVIDEND modulo DIVISOR; in
-         other words, the remainder after division of DIVIDEND by DIVISOR,
-         but with the same sign as DIVISOR.  The arguments must be numbers
-         or markers.
-
-         Unlike `%', `mod' returns a well-defined result for negative
-         arguments.  It also permits floating point arguments; it rounds the
-         quotient downward (towards minus infinity) to an integer, and uses
-         that quotient to compute the remainder.
-
-         % returns the integer remainder after division of
-         DIVIDEND by DIVISOR.  The arguments must be integers or markers.
-
-         For negative arguments, the remainder is in principle
-         machine-dependent since the quotient is; but in practice, all
-         known machines behave alike.
-
-
-
-rotate-yank-pointer has
-
-reformatted:
-    (let ((length (length kill-ring)))
-      ...
-      (setq kill-ring-yank-pointer
-            (nthcdr (% (+ arg
-                          (- length (length kill-ring-yank-pointer)))
-                       length)
-                    kill-ring)))))
-
-originally
-      (setq kill-ring-yank-pointer
-            (nthcdr (% (+ arg
-                          (- length
-                             (length
-                              kill-ring-yank-pointer)))
-                       length)
-                    kill-ring)))))
-
-
-
-
-
-
-/usr/local/src/emacs/lisp/ChangeLog.3
-1992-05-21  Jim Blandy	(jimb@pogo.cs.oberlin.edu)
-simple.el
-	(yank-pop): Use current-kill, rather than assuming that
-	kill-ring-yank-pointer points to the text you should use.
-	(yank): Use current-kill, instead of calling rotate-yank-pointer
-	and then fetching through the kill-ring-yank-pointer.
-
-@end ignore
-
 @node Kill Ring, Full Graph, the-the, Top
 @appendix Handling the Kill Ring
 @cindex Kill ring handling
@@ -19339,10 +19107,18 @@
 (In a read-only buffer, such as the @file{*info*} buffer, the kill
 command, @kbd{C-k} (@code{kill-line}), will not remove the text,
 merely copy it to the kill ring.  However, your machine may beep at
-you.  Alternatively, for silence, you may copy the region of each line
-with the @kbd{M-w} (@code{kill-ring-save}) command.  You must mark
-each line for this command to succeed, but it does not matter at which
-end you put point or mark.)
+you.  (@code{kill-line} calls @code{kill-region}.)  Alternatively, for
+silence, you may copy the region of each line with the @kbd{M-w}
+(@code{kill-ring-save}) command.  You must mark each line for this
+command to succeed, but it does not matter at which end you put point
+or mark.)
+
+@ignore
+@c texi2dvi fails when the name of the section is within ifnottex ...
+For a discussion of how @code{condition-case} deals with error, see
+@ref{Complete kill-region, , The Complete @code{kill-region}
+Definition}.
+@end ignore
 
 @need 1250
 @noindent
@@ -19494,7 +19270,7 @@
 is not for copying within this instance of GNU Emacs.  Most window
 systems provide a facility for interprogram pasting.  Sadly, that
 facility usually provides only for the lasted element.  Most windowing
-systems have not adopted a ring of many possiblities, even though
+systems have not adopted a ring of many possibilities, even though
 Emacs has provided it for decades.
 
 The @code{if} expression has two parts, one if there exists
@@ -19562,7 +19338,6 @@
 list, the first element of which is returned even if the
 @code{do-not-move} argument is true.
 
-
 @menu
 * Digression concerning error::
 * Determining the Element ::
@@ -19673,7 +19448,7 @@
 @end smallexample
 
 We can guess what the @code{-} function does.  It is like @code{+} but
-substracts instead of adds; the @code{-} function subtracts its second
+subtracts instead of adds; the @code{-} function subtracts its second
 argument from its first.  Also, we already know what the @code{length}
 function does (@pxref{length}).  It returns the length of a list.
 
@@ -19713,14 +19488,19 @@
 
 @cindex @samp{global variable} defined
 @cindex @samp{variable, global}, defined
-Incidently, both @code{kill-ring} and @code{kill-ring-yank-pointer}
+Incidentally, both @code{kill-ring} and @code{kill-ring-yank-pointer}
 are @dfn{global variables}.  That means that any expression in Emacs
 Lisp can access them.  They are not like the local variables set by
-@code{let} (@pxref{Prevent confusion}) or like the symbols in an
-argument list (@pxref{defun, , The @code{defun} Special Form}).  Local
-variables can only be accessed within the @code{let} that defines them
-or the function that specifies them in an argument list (and within
-expressions called by them).
+@code{let} or like the symbols in an argument list. 
+Local variables can only be accessed
+within the @code{let} that defines them or the function that specifies
+them in an argument list (and within expressions called by them).
+
+@ignore
+@c texi2dvi fails when the name of the section is within ifnottex ...
+(@xref{Prevent confusion, , @code{let} Prevents Confusion}, and
+@ref{defun, , The @code{defun} Special Form}.)
+@end ignore
 
 @node yank, yank-pop, current-kill, Kill Ring
 @comment  node-name,  next,  previous,  up
@@ -19802,8 +19582,6 @@
 
 The last part of the function tells what to do when it succeeds.
 
-
-
 @node yank-pop, ring file, yank, Kill Ring
 @comment  node-name,  next,  previous,  up
 @appendixsec @code{yank-pop}
@@ -22322,7 +22100,6 @@
 that lists free books available from other publishers:@*
 @uref{http://www.gnu.org/doc/other-free-books.html}
 
-
 @node GNU Free Documentation License, Index, Free Software and Free Manuals, Top
 @appendix GNU Free Documentation License