Info file elisp, produced by Makeinfo, -*- Text -*- from input file elisp.texi. This file documents GNU Emacs Lisp. This is edition 1.03 of the GNU Emacs Lisp Reference Manual, for Emacs Version 18. Published by the Free Software Foundation, 675 Massachusetts Avenue, Cambridge, MA 02139 USA Copyright (C) 1990 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.  Indirect: elisp-1: 1021 elisp-2: 50184 elisp-3: 99969 elisp-4: 148063 elisp-5: 196036 elisp-6: 245509 elisp-7: 294499 elisp-8: 344181 elisp-9: 392144 elisp-10: 439630 elisp-11: 489519 elisp-12: 538894 elisp-13: 588702 elisp-14: 636855 elisp-15: 684788 elisp-16: 731335 elisp-17: 780660 elisp-18: 828783 elisp-19: 878750 elisp-20: 928708 elisp-21: 977202 elisp-22: 1024659 elisp-23: 1073712 elisp-24: 1109804  Tag Table: (Indirect) Node: Top1023 Node: License34442 Node: Introduction42474 Node: Caveats44053 Node: Lisp History45731 Node: Conventions46988 Node: Some Terms47797 Node: nil and t48511 Node: Evaluation Notation50186 Node: Printing Notation51042 Node: Error Messages51947 Node: Buffer Text Notation52387 Node: Format of Descriptions53273 Node: A Sample Function Description53886 Node: A Sample Variable Description57907 Node: Acknowledgements58814 Node: Types of Lisp Object59860 Node: Printed Representation62142 Node: Comments64214 Node: Programming Types67209 Node: Number Type68638 Node: Character Type69637 Node: Sequence Type74537 Node: List Type75709 Node: Dotted Pair Notation80032 Node: Association List Type82213 Node: Array Type83098 Node: String Type84380 Node: Vector Type86342 Node: Symbol Type87104 Node: Lisp Function Type89778 Node: Lisp Macro Type90914 Node: Primitive Function Type91624 Node: Autoload Type93129 Node: Editing Types94078 Node: Buffer Type94843 Node: Window Type96645 Node: Window Configuration Type97731 Node: Marker Type98276 Node: Process Type99044 Node: Stream Type99971 Node: Keymap Type101099 Node: Syntax Table Type101673 Node: Type Predicates102597 Node: Equality Predicates104929 Node: Numbers107851 Node: Number Basics108918 Node: Predicates on Numbers111316 Node: Comparison of Numbers112704 Node: Arithmetic Operations114984 Node: Bitwise Operations118680 Node: Random Numbers128044 Node: Strings and Characters129558 Node: Intro to Strings130599 Node: Predicates for Strings132133 Node: Creating Strings132690 Node: Text Comparison137067 Node: String Conversion139642 Node: Formatting Strings142702 Node: Character Case148065 Node: Lists150924 Node: Cons Cells151879 Node: Lists as Boxes153023 Node: List-related Predicates155697 Node: List Elements157390 Node: Building Lists160429 Node: Modifying Lists165738 Node: Setcar166549 Node: Setcdr168993 Node: Rearrangement171562 Node: Sets And Lists177208 Node: Association Lists179870 Node: Sequences Arrays Vectors186633 Node: Sequence Functions188755 Node: Arrays191761 Node: Array Functions193855 Node: Vectors196038 Node: Symbols199742 Node: Symbol Components200747 Node: Definitions204935 Node: Creating Symbols207098 Node: Property Lists212781 Node: Evaluation216928 Node: Intro Eval217747 Node: Eval221121 Node: Forms225151 Node: Self-Evaluating Forms226184 Node: Symbol Forms227713 Node: Classifying Lists228564 Node: Function Forms231449 Node: Macro Forms232419 Node: Special Forms233760 Node: Autoloading236059 Node: Quoting236522 Node: Control Structures237782 Node: Sequencing239283 Node: Conditionals242110 Node: Combining Conditions245511 Node: Iteration248798 Node: Nonlocal Exits250461 Node: Catch and Throw251074 Node: Examples of Catch254882 Node: Errors256904 Node: Signaling Errors258359 Node: Processing of Errors261266 Node: Handling Errors262612 Node: Error Names269226 Node: Cleanups272521 Node: Variables275566 Node: Global Variables277284 Node: Constant Variables278396 Node: Local Variables278913 Node: Void Variables283554 Node: Defining Variables287069 Node: Accessing Variables293087 Node: Setting Variables294501 Node: Variable Scoping297620 Node: Scope299202 Node: Extent300746 Node: Impl of Scope302030 Node: Using Scoping304007 Node: Buffer-Local Variables305229 Node: Intro to Buffer-Local306032 Node: Creating Buffer-Local309648 Node: Default Value313122 Node: Functions315794 Node: What Is a Function316809 Node: Lambda Expressions320384 Node: Lambda Components321091 Node: Simple Lambda322912 Node: Argument List324562 Node: Function Documentation328270 Node: Function Names330216 Node: Defining Functions332642 Node: Calling Functions334836 Node: Mapping Functions338586 Node: Anonymous Functions340972 Node: Function Cells344183 Node: Related Topics348538 Node: Macros349397 Node: Simple Macro350501 Node: Expansion351249 Node: Compiling Macros354020 Node: Defining Macros355591 Node: Backquote356914 Node: Problems with Macros360510 Node: Argument Evaluation361245 Node: Surprising Local Vars363842 Node: Eval During Expansion365980 Node: Repeated Expansion367204 Node: Loading368836 Node: How Programs Do Loading370364 Node: Autoload375248 Node: Repeated Loading379373 Node: Features381139 Node: Byte Compilation385595 Node: Compilation Functions386591 Node: Disassembly392146 Node: Debugging399749 Node: Debugger401052 Node: Error Debugging402217 Node: Infinite Loops403224 Node: Function Debugging404994 Node: Explicit Debug407609 Node: Using Debugger408345 Node: Debugger Commands410246 Node: Invoking the Debugger413666 Node: Internals of Debugger417834 Node: Syntax Errors421750 Node: Excess Open422864 Node: Excess Close424651 Node: Compilation Errors425815 Node: Streams426916 Node: Streams Intro427807 Node: Input Streams429674 Node: Input Functions433978 Node: Output Streams435981 Node: Output Functions439632 Node: Minibuffers444534 Node: Intro to Minibuffers445443 Node: Text from Minibuffer447517 Node: Object from Minibuffer452245 Node: Completion455490 Node: Basic Completion457521 Node: Programmed Completion462097 Node: Minibuffer Completion463823 Node: Completion Commands466674 Node: High-Level Completion470920 Node: Reading File Names474575 Node: Lisp Symbol Completion477574 Node: Yes-or-No Queries479403 Node: Minibuffer Misc483479 Node: Command Loop485577 Node: Command Overview486810 Node: Defining Commands488778 Node: Using Interactive489521 Node: Interactive Codes492157 Node: Interactive Examples496642 Node: Interactive Call498001 Node: Command Loop Info503060 Node: Keyboard Input505824 Node: Quitting511855 Node: Prefix Command Arguments516267 Node: Recursive Editing521166 Node: Disabling Commands525935 Node: Command History527842 Node: Keyboard Macros529491 Node: Keymaps531582 Node: Keymap Terms532790 Node: Creating Keymaps535445 Node: Key Lookup538896 Node: Functions for Key Lookup543724 Node: Prefix Keys546651 Node: Global and Local Keymaps549918 Node: Changing Key Bindings553898 Node: Key Binding Commands560594 Node: Scanning Keymaps562176 Node: Modes565899 Node: Major Modes566855 Node: Major Mode Conventions569637 Node: Example Major Modes574516 Node: Auto Major Mode582621 Node: Mode Help587636 Node: Minor Modes588704 Node: Minor Mode Conventions590131 Node: Limits of Minor Modes592855 Node: Mode Line Format594484 Node: Mode Line Data596161 Node: Mode Line Variables600225 Node: %-Constructs604214 Node: Hooks605799 Node: Documentation609971 Node: Documentation Basics611324 Node: Accessing Documentation614130 Node: Keys in Documentation619528 Node: Describing Characters622001 Node: Help Functions623909 Node: Files629349 Node: Visiting Files630489 Node: Visiting Functions632003 Node: Subroutines of Visiting636857 Node: Saving Buffers638725 Node: Reading from Files644168 Node: Writing to Files645508 Node: File Locks647308 Node: Information about Files650408 Node: Testing Accessibility651435 Node: Kinds of Files654013 Node: File Attributes655413 Node: Contents of Directories660053 Node: Changing File Attributes662525 Node: File Names666838 Node: File Name Components668246 Node: Directory Names670775 Node: Relative File Names672751 Node: File Name Expansion673887 Node: Unique File Names677527 Node: File Name Completion678700 Node: Backups and Auto-Saving681321 Node: Backup Files681989 Node: Making Backups683409 Node: Rename or Copy684790 Node: Numbered Backups687724 Node: Backup Names689830 Node: Auto-Saving692691 Node: Reverting698821 Node: Buffers701723 Node: Buffer Basics703053 Node: Buffer Names705121 Node: Buffer File Name707424 Node: Buffer Modification710355 Node: Modification Time712217 Node: Read Only Buffers714668 Node: The Buffer List716518 Node: Creating Buffers719404 Node: Killing Buffers721283 Node: Current Buffer723298 Node: Windows726900 Node: Basic Windows728248 Node: Splitting Windows731337 Node: Deleting Windows736186 Node: Selecting Windows738018 Node: Cyclic Window Ordering739841 Node: Buffers and Windows742607 Node: Displaying Buffers744418 Node: Window Point749978 Node: Window Start752010 Node: Vertical Scrolling755591 Node: Horizontal Scrolling761256 Node: Size of Window764683 Node: Resizing Windows768199 Node: Window Configurations771428 Node: Positions773883 Node: Point774812 Node: Motion777612 Node: Character Motion778465 Node: Word Motion780662 Node: Buffer End Motion781735 Node: Text Lines783213 Node: Screen Lines787412 Node: Vertical Motion789894 Node: List Motion792041 Node: Skipping Characters793954 Node: Excursions796085 Node: Narrowing798349 Node: Markers803085 Node: Overview of Markers803981 Node: Predicates on Markers807105 Node: Creating Markers807835 Node: Information from Markers810918 Node: Changing Markers812009 Node: The Mark813377 Node: The Region818703 Node: Text819834 Node: Near Point822081 Node: Buffer Contents824697 Node: Insertion826231 Node: Commands for Insertion828785 Node: Deletion832997 Node: User-Level Deletion836148 Node: The Kill Ring840161 Node: Data in Kill Ring842096 Node: Kill Functions845704 Node: Yank Commands848006 Node: Kill Ring Internals849819 Node: Undo851190 Node: Filling854681 Node: Auto Filling858196 Node: Sorting859314 Node: Indentation868631 Node: Primitive Indent869395 Node: Mode-Specific Indent870578 Node: Region Indent873656 Node: Relative Indent876127 Node: Indent Tabs878752 Node: Motion by Indent880119 Node: Columns880893 Node: Case Changes882819 Node: Substitution885985 Node: Underlining887259 Node: Registers888439 Node: Searching and Matching892448 Node: String Search893397 Node: Regular Expressions897543 Node: Syntax of Regexps898120 Node: Regexp Example909420 Node: Regexp Search911922 Node: Match Data917202 Node: Saving Match Data922807 Node: Standard Regexps925789 Node: Searching and Case927252 Node: Syntax Tables928710 Node: Syntax Descriptors930937 Node: Syntax Class Table932788 Node: Syntax Flags938370 Node: Syntax Table Functions939497 Node: Parsing Expressions944151 Node: Standard Syntax Tables948992 Node: Syntax Table Internals949836 Node: Abbrevs950875 Node: Abbrev Mode952605 Node: Abbrev Tables953334 Node: Defining Abbrevs954861 Node: Abbrev Files956696 Node: Abbrev Expansion958452 Node: Standard Abbrev Tables961172 Node: Processes962304 Node: Subprocess Creation964295 Node: Synchronous Processes968779 Node: Asynchronous Processes973936 Node: Deleting Processes977204 Node: Process Information978890 Node: Input to Processes981880 Node: Signals to Processes984353 Node: Output from Processes988473 Node: Process Buffers989200 Node: Filter Functions992213 Node: Accepting Output997421 Node: Sentinels998238 Node: VMS Subprocesses1001111 Node: TCP1002642 Node: System Interface1004194 Node: Starting Up1005153 Node: Start-up Summary1005763 Node: Init File1007464 Node: Terminal-Specific1009262 Node: Command Line Arguments1012722 Node: Getting Out1015078 Node: Killing Emacs1015631 Node: Suspending Emacs1017093 Node: System Environment1020431 Node: Terminal Input1024661 Node: Terminal Output1028946 Node: Flow Control1031416 Node: Batch Mode1036620 Node: Emacs Display1037736 Node: Refresh Screen1038707 Node: Screen Attributes1038976 Node: Truncation1041241 Node: The Echo Area1043070 Node: Selective Display1044737 Node: Overlay Arrow1048681 Node: Temporary Displays1049795 Node: Waiting1053708 Node: Blinking1055226 Node: Control Char Display1057085 Node: Beeping1058285 Node: Window Systems1059266 Node: Tips1060670 Node: Style Tips1061170 Node: Compilation Tips1066638 Node: Documentation Tips1068915 Node: GNU Emacs Internals1073011 Node: Building Emacs1073714 Node: Pure Storage1077310 Node: Garbage Collection1079920 Node: Writing Emacs Primitives1085401 Node: Object Internals1094186 Node: Buffer Internals1095395 Node: Window Internals1097648 Node: Process Internals1099325 Node: Standard Errors1100650 Node: Standard Buffer-Local Variables1103619 Node: Standard Keymaps1105127 Node: Standard Hooks1107771 Node: Index1109806  End Tag Table