35 |
Boston, MA 02111-1307 USA |
Boston, MA 02111-1307 USA |
36 |
|
|
37 |
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,@* |
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,@* |
38 |
2000, 2002 Free Software Foundation, Inc. |
2000, 2002 Free Software Foundation, Inc. |
39 |
|
|
40 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
41 |
under the terms of the GNU Free Documentation License, Version 1.1 or |
under the terms of the GNU Free Documentation License, Version 1.1 or |
207 |
|
|
208 |
Format of Descriptions |
Format of Descriptions |
209 |
|
|
210 |
* A Sample Function Description:: |
* A Sample Function Description:: |
211 |
* A Sample Variable Description:: |
* A Sample Variable Description:: |
212 |
|
|
213 |
Lisp Data Types |
Lisp Data Types |
214 |
|
|
317 |
* Intro Eval:: Evaluation in the scheme of things. |
* Intro Eval:: Evaluation in the scheme of things. |
318 |
* Eval:: How to invoke the Lisp interpreter explicitly. |
* Eval:: How to invoke the Lisp interpreter explicitly. |
319 |
* Forms:: How various sorts of objects are evaluated. |
* Forms:: How various sorts of objects are evaluated. |
320 |
* Quoting:: Avoiding evaluation (to put constants in |
* Quoting:: Avoiding evaluation (to put constants in |
321 |
the program). |
the program). |
322 |
|
|
323 |
Kinds of Forms |
Kinds of Forms |
370 |
|
|
371 |
Scoping Rules for Variable Bindings |
Scoping Rules for Variable Bindings |
372 |
|
|
373 |
* Scope:: Scope means where in the program a value |
* Scope:: Scope means where in the program a value |
374 |
is visible. Comparison with other languages. |
is visible. Comparison with other languages. |
375 |
* Extent:: Extent means how long in time a value exists. |
* Extent:: Extent means how long in time a value exists. |
376 |
* Impl of Scope:: Two ways to implement dynamic scoping. |
* Impl of Scope:: Two ways to implement dynamic scoping. |
377 |
* Using Scoping:: How to use dynamic scoping carefully and |
* Using Scoping:: How to use dynamic scoping carefully and |
378 |
avoid problems. |
avoid problems. |
379 |
|
|
380 |
Buffer-Local Variables |
Buffer-Local Variables |
392 |
* Defining Functions:: Lisp expressions for defining functions. |
* Defining Functions:: Lisp expressions for defining functions. |
393 |
* Calling Functions:: How to use an existing function. |
* Calling Functions:: How to use an existing function. |
394 |
* Mapping Functions:: Applying a function to each element of a list, etc. |
* Mapping Functions:: Applying a function to each element of a list, etc. |
395 |
* Anonymous Functions:: Lambda-expressions are functions with no names. |
* Anonymous Functions:: Lambda-expressions are functions with no names. |
396 |
* Function Cells:: Accessing or setting the function definition |
* Function Cells:: Accessing or setting the function definition |
397 |
of a symbol. |
of a symbol. |
398 |
* Related Topics:: Cross-references to specific Lisp primitives |
* Related Topics:: Cross-references to specific Lisp primitives |
399 |
that have a special bearing on how |
that have a special bearing on how |
400 |
functions work. |
functions work. |
401 |
|
|
402 |
Lambda Expressions |
Lambda Expressions |
445 |
|
|
446 |
* Debugger:: How the Emacs Lisp debugger is implemented. |
* Debugger:: How the Emacs Lisp debugger is implemented. |
447 |
* Syntax Errors:: How to find syntax errors. |
* Syntax Errors:: How to find syntax errors. |
448 |
* Compilation Errors:: How to find errors that show up in |
* Compilation Errors:: How to find errors that show up in |
449 |
byte compilation. |
byte compilation. |
450 |
* Edebug:: A source-level Emacs Lisp debugger. |
* Edebug:: A source-level Emacs Lisp debugger. |
451 |
|
|
452 |
The Lisp Debugger |
The Lisp Debugger |
453 |
|
|
454 |
* Error Debugging:: Entering the debugger when an error happens. |
* Error Debugging:: Entering the debugger when an error happens. |
467 |
Reading and Printing Lisp Objects |
Reading and Printing Lisp Objects |
468 |
|
|
469 |
* Streams Intro:: Overview of streams, reading and printing. |
* Streams Intro:: Overview of streams, reading and printing. |
470 |
* Input Streams:: Various data types that can be used as |
* Input Streams:: Various data types that can be used as |
471 |
input streams. |
input streams. |
472 |
* Input Functions:: Functions to read Lisp objects from text. |
* Input Functions:: Functions to read Lisp objects from text. |
473 |
* Output Streams:: Various data types that can be used as |
* Output Streams:: Various data types that can be used as |
474 |
output streams. |
output streams. |
475 |
* Output Functions:: Functions to print Lisp objects as text. |
* Output Functions:: Functions to print Lisp objects as text. |
476 |
|
|
542 |
* Major Modes:: Defining major modes. |
* Major Modes:: Defining major modes. |
543 |
* Minor Modes:: Defining minor modes. |
* Minor Modes:: Defining minor modes. |
544 |
* Mode Line Format:: Customizing the text that appears in the mode line. |
* Mode Line Format:: Customizing the text that appears in the mode line. |
545 |
* Hooks:: How to use hooks; how to write code that |
* Hooks:: How to use hooks; how to write code that |
546 |
provides hooks. |
provides hooks. |
547 |
|
|
548 |
Major Modes |
Major Modes |
602 |
* File Name Components:: The directory part of a file name, and the rest. |
* File Name Components:: The directory part of a file name, and the rest. |
603 |
* Directory Names:: A directory's name as a directory |
* Directory Names:: A directory's name as a directory |
604 |
is different from its name as a file. |
is different from its name as a file. |
605 |
* Relative File Names:: Some file names are relative to a |
* Relative File Names:: Some file names are relative to a |
606 |
current directory. |
current directory. |
607 |
* File Name Expansion:: Converting relative file names to absolute ones. |
* File Name Expansion:: Converting relative file names to absolute ones. |
608 |
* Unique File Names:: Generating names for temporary files. |
* Unique File Names:: Generating names for temporary files. |
610 |
|
|
611 |
Backups and Auto-Saving |
Backups and Auto-Saving |
612 |
|
|
613 |
* Backup Files:: How backup files are made; how their names |
* Backup Files:: How backup files are made; how their names |
614 |
are chosen. |
are chosen. |
615 |
* Auto-Saving:: How auto-save files are made; how their |
* Auto-Saving:: How auto-save files are made; how their |
616 |
names are chosen. |
names are chosen. |
617 |
* Reverting:: @code{revert-buffer}, and how to customize |
* Reverting:: @code{revert-buffer}, and how to customize |
618 |
what it does. |
what it does. |
619 |
|
|
620 |
Backup Files |
Backup Files |
621 |
|
|
622 |
* Making Backups:: How Emacs makes backup files, and when. |
* Making Backups:: How Emacs makes backup files, and when. |
623 |
* Rename or Copy:: Two alternatives: renaming the old file |
* Rename or Copy:: Two alternatives: renaming the old file |
624 |
or copying it. |
or copying it. |
625 |
* Numbered Backups:: Keeping multiple backups for each source file. |
* Numbered Backups:: Keeping multiple backups for each source file. |
626 |
* Backup Names:: How backup file names are computed; customization. |
* Backup Names:: How backup file names are computed; customization. |
654 |
and choosing a window for it. |
and choosing a window for it. |
655 |
* Window Point:: Each window has its own location of point. |
* Window Point:: Each window has its own location of point. |
656 |
* Window Start:: The display-start position controls which text |
* Window Start:: The display-start position controls which text |
657 |
is on-screen in the window. |
is on-screen in the window. |
658 |
* Vertical Scrolling:: Moving text up and down in the window. |
* Vertical Scrolling:: Moving text up and down in the window. |
659 |
* Horizontal Scrolling:: Moving text sideways on the window. |
* Horizontal Scrolling:: Moving text sideways on the window. |
660 |
* Size of Window:: Accessing the size of a window. |
* Size of Window:: Accessing the size of a window. |
710 |
* Predicates on Markers:: Testing whether an object is a marker. |
* Predicates on Markers:: Testing whether an object is a marker. |
711 |
* Creating Markers:: Making empty markers or markers at certain places. |
* Creating Markers:: Making empty markers or markers at certain places. |
712 |
* Information from Markers:: Finding the marker's buffer or character |
* Information from Markers:: Finding the marker's buffer or character |
713 |
position. |
position. |
714 |
* Moving Markers:: Moving the marker to a new buffer or position. |
* Moving Markers:: Moving the marker to a new buffer or position. |
715 |
* The Mark:: How ``the mark'' is implemented with a marker. |
* The Mark:: How ``the mark'' is implemented with a marker. |
716 |
* The Region:: How to access ``the region''. |
* The Region:: How to access ``the region''. |
739 |
* Registers:: How registers are implemented. Accessing |
* Registers:: How registers are implemented. Accessing |
740 |
the text or position stored in a register. |
the text or position stored in a register. |
741 |
* Change Hooks:: Supplying functions to be run when text is changed. |
* Change Hooks:: Supplying functions to be run when text is changed. |
742 |
|
|
743 |
The Kill Ring |
The Kill Ring |
744 |
|
|
745 |
* Kill Ring Concepts:: What text looks like in the kill ring. |
* Kill Ring Concepts:: What text looks like in the kill ring. |