This is ../../info/eintr, produced by makeinfo version 4.11 from emacs-lisp-intro.texi. INFO-DIR-SECTION Emacs START-INFO-DIR-ENTRY * Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming. END-INFO-DIR-ENTRY This is an `Introduction to Programming in Emacs Lisp', for people who are not programmers. Edition 3.10, 28 October 2009 Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1997, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. Published by the: GNU Press, Website: http://www.gnupress.org a division of the General: press@gnu.org Free Software Foundation, Inc. Orders: sales@gnu.org 51 Franklin Street, Fifth Floor Tel: +1 (617) 542-5942 Boston, MA 02110-1301 USA Fax: +1 (617) 542-2652 ISBN 1-882114-43-4 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; there being no Invariant Section, with the Front-Cover Texts being "A GNU Manual", and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License". (a) The FSF's Back-Cover Text is: "You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom."  Indirect: eintr-1: 1532 eintr-2: 300307 eintr-3: 599842  Tag Table: (Indirect) Node: Top1532 Node: Preface20677 Node: Why21960 Node: On Reading this Text22607 Node: Who You Are24780 Node: Lisp History27500 Node: Note for Novices28254 Node: Thank You30725 Node: List Processing31278 Ref: List Processing-Footnote-132632 Node: Lisp Lists32838 Node: Numbers Lists33732 Node: Lisp Atoms34770 Node: Whitespace in Lists38445 Node: Typing Lists39697 Node: Run a Program40780 Node: Making Errors43205 Node: Names & Definitions48161 Node: Lisp Interpreter50003 Node: Complications51163 Node: Byte Compiling52719 Node: Evaluation53768 Node: How the Interpreter Acts54377 Node: Evaluating Inner Lists55696 Node: Variables58190 Node: fill-column Example59710 Node: Void Function61198 Node: Void Variable62308 Node: Arguments64096 Ref: Arguments-Footnote-165734 Node: Data types66549 Node: Args as Variable or List68525 Node: Variable Number of Arguments70051 Node: Wrong Type of Argument70865 Ref: Wrong Type of Argument-Footnote-174264 Node: message74334 Ref: message-Footnote-178162 Node: set & setq78340 Node: Using set79039 Node: Using setq81287 Node: Counting83416 Node: Summary85363 Node: Error Message Exercises87139 Node: Practicing Evaluation87636 Node: How to Evaluate88796 Node: Buffer Names90307 Node: Getting Buffers95933 Ref: Getting Buffers-Footnote-198426 Node: Switching Buffers98647 Ref: Switching Buffers-Footnote-1101922 Ref: Switching Buffers-Footnote-2102197 Node: Buffer Size & Locations102860 Node: Evaluation Exercise104966 Node: Writing Defuns105237 Node: Primitive Functions106572 Node: defun107748 Node: Install114228 Node: Effect of installation115542 Node: Change a defun116341 Node: Interactive118023 Node: Interactive multiply-by-seven119064 Node: multiply-by-seven in detail120887 Node: Interactive Options123519 Node: Permanent Installation126595 Node: let128681 Node: Prevent confusion129957 Node: Parts of let Expression131833 Node: Sample let Expression133364 Ref: Sample let Expression-Footnote-1135109 Node: Uninitialized let Variables135360 Node: if136896 Node: if in more detail137730 Node: type-of-animal in detail140453 Node: else142900 Node: Truth & Falsehood145701 Node: nil explained146590 Node: save-excursion148607 Node: Point and mark149342 Node: Template for save-excursion152321 Node: Review153559 Node: defun Exercises161219 Node: Buffer Walk Through161634 Node: Finding More162707 Node: simplified-beginning-of-buffer166546 Node: mark-whole-buffer170922 Node: mark-whole-buffer overview171707 Node: Body of mark-whole-buffer173078 Node: append-to-buffer176096 Node: append-to-buffer overview176760 Node: append interactive179509 Node: append-to-buffer body181879 Node: append save-excursion183934 Node: Buffer Related Review188736 Node: Buffer Exercises190665 Node: More Complex191098 Node: copy-to-buffer191981 Node: insert-buffer194587 Node: insert-buffer code195827 Node: insert-buffer interactive196832 Node: Read-only buffer197329 Node: b for interactive197941 Node: insert-buffer body199039 Node: if & or200190 Node: Insert or203185 Node: Insert let205398 Node: New insert-buffer209047 Node: beginning-of-buffer210206 Node: Optional Arguments211748 Node: beginning-of-buffer opt arg215005 Node: Disentangle beginning-of-buffer215880 Node: Large buffer case217145 Node: Small buffer case219597 Node: beginning-of-buffer complete221216 Node: Second Buffer Related Review224246 Node: optional Exercise225870 Node: Narrowing & Widening226330 Node: Narrowing advantages226930 Node: save-restriction228817 Node: what-line230712 Node: narrow Exercise234747 Node: car cdr & cons235712 Node: Strange Names236693 Node: car & cdr237695 Node: cons241916 Node: Build a list242828 Ref: Build a list-Footnote-1244325 Node: length244505 Node: nthcdr245992 Node: nth248798 Node: setcar250132 Node: setcdr252345 Node: cons Exercise253810 Node: Cutting & Storing Text254170 Node: Storing Text255437 Node: zap-to-char257463 Node: Complete zap-to-char258567 Node: zap-to-char interactive260538 Node: zap-to-char body261969 Node: search-forward263470 Node: progn266422 Node: Summing up zap-to-char268079 Node: kill-region269164 Node: Complete kill-region270098 Node: condition-case274313 Node: Lisp macro276817 Node: copy-region-as-kill279111 Node: Complete copy-region-as-kill279975 Node: copy-region-as-kill body282753 Node: last-command & this-command283723 Node: kill-append function285945 Node: kill-new function289993 Node: Digression into C300307 Ref: Digression into C-Footnote-1305700 Node: defvar305875 Node: See variable current value307339 Node: defvar and asterisk309207 Node: cons & search-fwd Review310998 Node: search Exercises313907 Node: List Implementation314629 Node: Lists diagrammed315685 Node: Symbols as Chest321687 Node: List Exercise323682 Node: Yanking324009 Node: Kill Ring Overview325286 Node: kill-ring-yank-pointer326909 Node: yank nthcdr Exercises329272 Node: Loops & Recursion329971 Ref: Loops & Recursion-Footnote-1331052 Node: while331554 Node: Looping with while332898 Node: Loop Example334663 Node: print-elements-of-list337975 Node: Incrementing Loop340439 Node: Incrementing Loop Details340996 Node: Incrementing Example342324 Node: Inc Example parts344719 Node: Inc Example altogether348599 Node: Decrementing Loop352050 Node: Decrementing Example353465 Node: Dec Example parts354950 Node: Dec Example altogether356916 Node: dolist dotimes359116 Node: dolist359843 Node: dotimes362909 Node: Recursion364438 Node: Building Robots365526 Node: Recursive Definition Parts367251 Node: Recursion with list369652 Node: Recursive triangle function373222 Node: Recursive Example arg of 1 or 2374493 Node: Recursive Example arg of 3 or 4376711 Node: Recursion with cond379665 Node: Recursive Patterns381961 Node: Every382358 Node: Accumulate384796 Node: Keep386041 Node: No Deferment387905 Node: No deferment solution390556 Ref: No deferment solution-Footnote-1394469 Ref: No deferment solution-Footnote-2394573 Node: Looping exercise395068 Node: Regexp Search396243 Node: sentence-end398189 Node: re-search-forward402019 Node: forward-sentence404477 Node: Complete forward-sentence405180 Node: fwd-sentence while loops408650 Node: fwd-sentence re-search412144 Node: forward-paragraph414226 Node: forward-paragraph in brief415925 Node: fwd-para let417378 Node: fwd-para while422578 Node: etags430811 Node: Regexp Review435124 Node: re-search Exercises437446 Node: Counting Words438197 Node: Why Count Words438819 Node: count-words-region439765 Node: Design count-words-region440972 Node: Whitespace Bug447447 Node: recursive-count-words456782 Node: Counting Exercise468697 Node: Words in a defun469056 Node: Divide and Conquer470604 Node: Words and Symbols471832 Node: Syntax473773 Node: count-words-in-defun477367 Node: Several defuns483425 Node: Find a File485764 Node: lengths-list-file488271 Node: Several files493445 Node: lengths-list-many-files494141 Node: append496877 Node: Several files recursively497472 Node: Prepare the data500234 Node: Data for Display in Detail501264 Node: Sorting502198 Node: Files List503812 Node: Counting function definitions511096 Node: Readying a Graph520188 Node: Columns of a graph521340 Node: graph-body-print534717 Node: recursive-graph-body-print539340 Node: Printed Axes541977 Node: Line Graph Exercise542690 Node: Emacs Initialization542867 Node: Default Configuration544229 Ref: Default Configuration-Footnote-1546198 Node: Site-wide Init546498 Node: defcustom548451 Node: Beginning a .emacs File554125 Node: Text and Auto-fill556454 Node: Mail Aliases560280 Node: Indent Tabs Mode561158 Node: Keybindings562085 Node: Keymaps565534 Node: Loading Files567713 Node: Autoload570667 Node: Simple Extension573475 Ref: Simple Extension-Footnote-1576111 Node: X11 Colors576373 Ref: X11 Colors-Footnote-1578207 Node: Miscellaneous578361 Node: Mode Line582499 Node: Debugging587915 Node: debug588713 Node: debug-on-entry591737 Node: debug-on-quit594830 Node: edebug595800 Node: Debugging Exercises599842 Node: Conclusion601500 Node: the-the606709 Node: Kill Ring609449 Node: What the Kill Ring Does610128 Node: current-kill611621 Node: Code for current-kill612217 Node: Understanding current-kill614344 Node: Body of current-kill615074 Node: Digression concerning error618138 Node: Determining the Element619306 Node: yank622782 Node: yank-pop625910 Node: ring file628376 Node: Full Graph628717 Node: Labelled Example629480 Node: print-graph Varlist631469 Node: print-Y-axis633128 Node: print-Y-axis in Detail633940 Node: Height of label634734 Node: Compute a Remainder636718 Node: Y Axis Element640469 Node: Y-axis-column644146 Node: print-Y-axis Penultimate645726 Node: print-X-axis647628 Node: Similarities differences648847 Node: X Axis Tic Marks649653 Node: Print Whole Graph656548 Node: The final version657571 Node: Test print-graph661805 Node: Graphing words in defuns663389 Node: lambda665954 Node: mapcar667596 Node: Another Bug669570 Node: Final printed graph675024 Node: Free Software and Free Manuals675936 Node: GNU Free Documentation License682175 Node: Index707359 Node: About the Author742235  End Tag Table