annotate info/eintr @ 73594:a9d44a0da97d

* eintr-1: updated `Introduction to Programming in Emacs Lisp'
author Robert J. Chassell <bob@rattlesnake.com>
date Tue, 31 Oct 2006 18:03:48 +0000
parents bc8ade3f96b7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
73589
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
1 This is ../info/eintr, produced by makeinfo version 4.8 from
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
2 emacs-lisp-intro.texi.
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
3
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
4 INFO-DIR-SECTION Emacs
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
5 START-INFO-DIR-ENTRY
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
6 * Emacs Lisp Intro: (eintr).
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
7 A simple introduction to Emacs Lisp programming.
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
8 END-INFO-DIR-ENTRY
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
9
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
10 This is an `Introduction to Programming in Emacs Lisp', for people who
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
11 are not programmers.
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
12
73593
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
13 Edition 3.01, 2006 Oct 31
73589
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
14
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
15 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2002,
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
16 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
17
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
18 Published by the:
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
19
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
20 GNU Press, Website: http://www.gnupress.org
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
21 a division of the General: press@gnu.org
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
22 Free Software Foundation, Inc. Orders: sales@gnu.org
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
23 51 Franklin Street, Fifth Floor Tel: +1 (617) 542-5942
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
24 Boston, MA 02110-1301 USA Fax: +1 (617) 542-2652
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
25
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
26
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
27 ISBN 1-882114-43-4
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
28
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
29 Permission is granted to copy, distribute and/or modify this document
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
30 under the terms of the GNU Free Documentation License, Version 1.2 or
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
31 any later version published by the Free Software Foundation; there
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
32 being no Invariant Section, with the Front-Cover Texts being "A GNU
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
33 Manual", and with the Back-Cover Texts as in (a) below. A copy of the
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
34 license is included in the section entitled "GNU Free Documentation
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
35 License".
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
36
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
37 (a) The FSF's Back-Cover Text is: "You have freedom to copy and modify
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
38 this GNU Manual, like GNU software. Copies published by the Free
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
39 Software Foundation raise funds for GNU development."
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
40
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
41 
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
42 Indirect:
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
43 eintr-1: 1466
73593
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
44 eintr-2: 299621
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
45 eintr-3: 597715
73589
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
46 
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
47 Tag Table:
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
48 (Indirect)
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
49 Node: Top1466
73593
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
50 Node: Preface20343
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
51 Node: Why21442
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
52 Node: On Reading this Text22083
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
53 Node: Who You Are24247
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
54 Node: Lisp History26946
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
55 Node: Note for Novices27697
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
56 Node: Thank You30156
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
57 Node: List Processing30637
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
58 Ref: List Processing-Footnote-131530
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
59 Node: Lisp Lists31733
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
60 Node: Numbers Lists32443
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
61 Node: Lisp Atoms33470
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
62 Node: Whitespace in Lists37132
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
63 Node: Typing Lists38373
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
64 Node: Run a Program39453
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
65 Node: Making Errors41865
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
66 Node: Names & Definitions46779
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
67 Node: Lisp Interpreter48613
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
68 Node: Complications49666
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
69 Node: Byte Compiling51210
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
70 Node: Evaluation52253
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
71 Node: Evaluating Inner Lists53909
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
72 Node: Variables56370
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
73 Node: fill-column Example57723
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
74 Node: Void Function59202
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
75 Node: Void Variable60309
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
76 Node: Arguments62088
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
77 Ref: Arguments-Footnote-163329
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
78 Node: Data types64141
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
79 Node: Args as Variable or List66105
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
80 Node: Variable Number of Arguments67625
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
81 Node: Wrong Type of Argument68430
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
82 Ref: Wrong Type of Argument-Footnote-171807
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
83 Node: message71874
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
84 Ref: message-Footnote-175667
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
85 Node: set & setq75841
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
86 Node: Using set76423
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
87 Node: Using setq78662
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
88 Node: Counting80779
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
89 Node: Summary82720
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
90 Node: Error Message Exercises84493
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
91 Node: Practicing Evaluation84990
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
92 Node: How to Evaluate85821
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
93 Node: Buffer Names87320
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
94 Node: Getting Buffers92913
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
95 Ref: Getting Buffers-Footnote-195385
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
96 Node: Switching Buffers95603
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
97 Ref: Switching Buffers-Footnote-198858
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
98 Ref: Switching Buffers-Footnote-299130
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
99 Node: Buffer Size & Locations99787
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
100 Node: Evaluation Exercise101772
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
101 Node: Writing Defuns102043
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
102 Node: Primitive Functions102890
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
103 Node: defun104059
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
104 Node: Install110503
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
105 Node: Effect of installation111767
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
106 Node: Change a defun112560
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
107 Node: Interactive114227
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
108 Node: Interactive multiply-by-seven115224
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
109 Node: multiply-by-seven in detail117032
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
110 Node: Interactive Options119649
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
111 Node: Permanent Installation122700
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
112 Node: let124780
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
113 Node: Prevent confusion126047
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
114 Node: Parts of let Expression127911
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
115 Node: Sample let Expression129430
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
116 Ref: Sample let Expression-Footnote-1131160
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
117 Node: Uninitialized let Variables131408
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
118 Node: if132938
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
119 Node: if in more detail133732
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
120 Node: type-of-animal in detail136440
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
121 Node: else138860
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
122 Node: Truth & Falsehood141641
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
123 Node: nil explained142489
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
124 Node: save-excursion144489
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
125 Node: Point and mark145177
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
126 Node: Template for save-excursion148134
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
127 Node: Review149366
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
128 Node: defun Exercises157102
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
129 Node: Buffer Walk Through157517
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
130 Node: Finding More158301
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
131 Node: simplified-beginning-of-buffer162161
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
132 Node: mark-whole-buffer166501
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
133 Node: mark-whole-buffer overview167255
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
134 Node: Body of mark-whole-buffer168614
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
135 Node: append-to-buffer171615
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
136 Node: append-to-buffer overview172158
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
137 Node: append interactive174813
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
138 Node: append-to-buffer body177164
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
139 Node: append save-excursion179204
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
140 Node: Buffer Related Review183970
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
141 Node: Buffer Exercises185899
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
142 Node: More Complex186332
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
143 Node: copy-to-buffer187033
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
144 Node: insert-buffer189608
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
145 Node: insert-buffer code190606
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
146 Node: insert-buffer interactive191605
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
147 Node: Read-only buffer192010
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
148 Node: b for interactive192622
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
149 Node: insert-buffer body193717
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
150 Node: if & or194859
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
151 Node: Insert or197830
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
152 Node: Insert let200029
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
153 Node: New insert-buffer203657
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
154 Node: beginning-of-buffer204808
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
155 Node: Optional Arguments206294
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
156 Node: beginning-of-buffer opt arg209529
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
157 Node: Disentangle beginning-of-buffer210362
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
158 Node: Large buffer case211606
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
159 Node: Small buffer case214037
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
160 Node: beginning-of-buffer complete215650
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
161 Node: Second Buffer Related Review218513
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
162 Node: optional Exercise220137
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
163 Node: Narrowing & Widening220597
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
164 Node: Narrowing advantages221055
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
165 Node: save-restriction222933
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
166 Node: what-line224816
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
167 Node: narrow Exercise228818
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
168 Node: car cdr & cons229777
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
169 Node: Strange Names230437
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
170 Node: car & cdr231436
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
171 Node: cons235619
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
172 Node: Build a list236470
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
173 Ref: Build a list-Footnote-1237958
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
174 Node: length238135
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
175 Node: nthcdr239613
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
176 Node: nth242405
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
177 Node: setcar243724
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
178 Node: setcdr245925
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
179 Node: cons Exercise247381
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
180 Node: Cutting & Storing Text247741
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
181 Node: Storing Text248710
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
182 Node: zap-to-char250722
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
183 Node: Complete zap-to-char251583
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
184 Node: zap-to-char interactive253483
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
185 Node: zap-to-char body254955
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
186 Node: search-forward256539
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
187 Node: progn259479
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
188 Node: Summing up zap-to-char261124
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
189 Node: kill-region262201
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
190 Node: Complete kill-region263060
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
191 Node: condition-case267176
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
192 Node: Lisp macro269650
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
193 Node: copy-region-as-kill271701
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
194 Node: Complete copy-region-as-kill272487
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
195 Node: copy-region-as-kill body275238
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
196 Node: last-command & this-command276205
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
197 Node: kill-append function278454
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
198 Node: kill-new function282423
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
199 Node: Digression into C292644
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
200 Ref: Digression into C-Footnote-1297997
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
201 Node: defvar298169
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
202 Node: See variable current value299621
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
203 Node: defvar and asterisk301483
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
204 Node: cons & search-fwd Review303252
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
205 Node: search Exercises305766
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
206 Node: List Implementation306488
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
207 Node: Lists diagrammed307499
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
208 Node: Symbols as Chest313466
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
209 Node: List Exercise315452
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
210 Node: Yanking315779
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
211 Node: Kill Ring Overview316978
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
212 Node: kill-ring-yank-pointer318625
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
213 Node: yank nthcdr Exercises320974
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
214 Node: Loops & Recursion321673
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
215 Ref: Loops & Recursion-Footnote-1322633
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
216 Node: while323132
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
217 Node: Looping with while324220
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
218 Node: Loop Example325976
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
219 Node: print-elements-of-list329264
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
220 Node: Incrementing Loop331710
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
221 Node: Incrementing Example333229
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
222 Node: Inc Example parts335595
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
223 Node: Inc Example altogether339440
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
224 Node: Decrementing Loop342855
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
225 Node: Decrementing Example344127
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
226 Node: Dec Example parts345603
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
227 Node: Dec Example altogether347554
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
228 Node: dolist dotimes349737
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
229 Node: dolist350459
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
230 Node: dotimes353504
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
231 Node: Recursion355024
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
232 Node: Building Robots355909
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
233 Node: Recursive Definition Parts357616
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
234 Node: Recursion with list359996
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
235 Node: Recursive triangle function363524
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
236 Node: Recursive Example arg of 1 or 2364792
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
237 Node: Recursive Example arg of 3 or 4366996
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
238 Node: Recursion with cond369924
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
239 Node: Recursive Patterns372199
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
240 Node: Every372596
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
241 Node: Accumulate375030
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
242 Node: Keep376263
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
243 Node: No Deferment378116
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
244 Node: No deferment solution380740
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
245 Ref: No deferment solution-Footnote-1384606
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
246 Ref: No deferment solution-Footnote-2384707
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
247 Node: Looping exercise385199
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
248 Node: Regexp Search386374
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
249 Node: sentence-end388060
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
250 Node: re-search-forward391709
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
251 Node: forward-sentence394152
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
252 Node: Complete forward-sentence394799
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
253 Node: fwd-sentence while loops398175
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
254 Node: fwd-sentence re-search401641
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
255 Node: forward-paragraph403711
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
256 Node: forward-paragraph in brief405275
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
257 Node: fwd-para let406716
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
258 Node: fwd-para while411864
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
259 Node: etags420038
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
260 Node: Regexp Review424307
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
261 Node: re-search Exercises426629
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
262 Node: Counting Words427380
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
263 Node: Why Count Words427914
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
264 Node: count-words-region428854
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
265 Node: Design count-words-region429962
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
266 Node: Whitespace Bug436373
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
267 Node: recursive-count-words445647
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
268 Node: Counting Exercise457450
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
269 Node: Words in a defun457809
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
270 Node: Divide and Conquer458940
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
271 Node: Words and Symbols460162
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
272 Node: Syntax462096
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
273 Node: count-words-in-defun465666
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
274 Node: Several defuns471673
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
275 Node: Find a File473989
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
276 Node: lengths-list-file476472
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
277 Node: Several files481616
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
278 Node: lengths-list-many-files482216
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
279 Node: append484903
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
280 Node: Several files recursively485495
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
281 Node: Prepare the data488243
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
282 Node: Sorting489915
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
283 Node: Files List491510
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
284 Node: Counting function definitions498739
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
285 Node: Readying a Graph507767
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
286 Node: Columns of a graph508867
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
287 Node: graph-body-print522150
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
288 Node: recursive-graph-body-print526746
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
289 Node: Printed Axes529384
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
290 Node: Line Graph Exercise530094
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
291 Node: Emacs Initialization530271
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
292 Node: Default Configuration531049
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
293 Ref: Default Configuration-Footnote-1532997
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
294 Node: Site-wide Init533294
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
295 Node: defcustom535228
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
296 Node: Beginning a .emacs File540679
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
297 Node: Text and Auto-fill542993
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
298 Node: Mail Aliases546786
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
299 Node: Indent Tabs Mode547662
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
300 Node: Keybindings548577
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
301 Node: Keymaps551969
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
302 Node: Loading Files554127
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
303 Node: Autoload556951
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
304 Node: Simple Extension559748
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
305 Ref: Simple Extension-Footnote-1562990
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
306 Node: X11 Colors563249
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
307 Ref: X11 Colors-Footnote-1565065
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
308 Node: Miscellaneous565216
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
309 Node: Mode Line569316
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
310 Node: Debugging574689
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
311 Node: debug575254
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
312 Node: debug-on-entry578250
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
313 Node: debug-on-quit581316
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
314 Node: edebug582277
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
315 Node: Debugging Exercises586273
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
316 Node: Conclusion587931
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
317 Node: the-the593082
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
318 Node: Kill Ring595798
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
319 Node: current-kill597715
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
320 Node: Understanding current-kill599878
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
321 Node: Digression concerning error603322
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
322 Node: Determining the Element604490
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
323 Node: yank607913
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
324 Node: yank-pop610822
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
325 Node: ring file613218
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
326 Node: Full Graph613559
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
327 Node: Labelled Example614136
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
328 Node: print-graph Varlist616110
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
329 Node: print-Y-axis617757
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
330 Node: Height of label618930
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
331 Node: Compute a Remainder620889
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
332 Node: Y Axis Element624619
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
333 Node: Y-axis-column628160
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
334 Node: print-Y-axis Penultimate629737
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
335 Node: print-X-axis631580
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
336 Node: Similarities differences632691
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
337 Node: X Axis Tic Marks633491
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
338 Node: Print Whole Graph640329
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
339 Node: The final version641067
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
340 Node: Test print-graph645290
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
341 Node: Graphing words in defuns646868
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
342 Node: lambda649415
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
343 Node: mapcar651051
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
344 Node: Another Bug653005
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
345 Node: Final printed graph658447
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
346 Node: Free Software and Free Manuals659359
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
347 Node: GNU Free Documentation License665605
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
348 Node: Index688028
bc8ade3f96b7 * eintr: updated `Introduction to Programming in Emacs Lisp'
Robert J. Chassell <bob@rattlesnake.com>
parents: 73589
diff changeset
349 Node: About the Author722782
73589
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
350 
2660f3193d24 info/eintr: Updated Info file to Third Edition for
Robert J. Chassell <bob@rattlesnake.com>
parents:
diff changeset
351 End Tag Table