Search
TOC:
Show
/
Hide
Indexes:
Functions
/
Variables
/
Commands
/
Forms
/
Options
/
Macros
/
Keywords
/
Misc
Next:
GNU GENERAL PUBLIC LICENSE
Previous:
GNU Emacs Lisp Reference Manual
1. Table of Contents
GNU GENERAL PUBLIC LICENSE
Preamble
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
How to Apply These Terms to Your New Programs
Introduction
Caveats
Lisp History
Conventions
Some Terms
nil and t
Evaluation Notation
Printing Notation
Error Messages
Buffer Text Notation
Format of Descriptions
A Sample Function Description
A Sample Variable Description
Version Information
Acknowledgements
Lisp Data Types
Printed Representation and Read Syntax
Comments
Programming Types
Integer Type
Floating Point Type
Character Type
Symbol Type
Sequence Types
Cons Cell and List Types
Dotted Pair Notation
Association List Type
Array Type
String Type
Syntax for Strings
Non-ASCII Characters in Strings
Nonprinting Characters in Strings
Text Properties in Strings
Vector Type
Char-Table Type
Bool-Vector Type
Function Type
Macro Type
Primitive Function Type
Byte-Code Function Type
Autoload Type
Editing Types
Buffer Type
Marker Type
Window Type
Frame Type
Window Configuration Type
Frame Configuration Type
Process Type
Stream Type
Keymap Type
Overlay Type
Type Predicates
Equality Predicates
Numbers
Integer Basics
Floating Point Basics
Type Predicates for Numbers
Comparison of Numbers
Numeric Conversions
Arithmetic Operations
Rounding Operations
Bitwise Operations on Integers
Standard Mathematical Functions
Random Numbers
Strings and Characters
String and Character Basics
The Predicates for Strings
Creating Strings
Modifying Strings
Comparison of Characters and Strings
Conversion of Characters and Strings
Formatting Strings
Case Conversion in Lisp
The Case Table
Lists
Lists and Cons Cells
Lists as Linked Pairs of Boxes
Predicates on Lists
Accessing Elements of Lists
Building Cons Cells and Lists
Modifying Existing List Structure
Altering List Elements with setcar
Altering the CDR of a List
Functions that Rearrange Lists
Using Lists as Sets
Association Lists
Sequences, Arrays, and Vectors
Sequences
Arrays
Functions that Operate on Arrays
Vectors
Functions for Vectors
Char-Tables
Bool-vectors
Symbols
Symbol Components
Defining Symbols
Creating and Interning Symbols
Property Lists
Property Lists and Association Lists
Property List Functions for Symbols
Property Lists Outside Symbols
Evaluation
Kinds of Forms
Self-Evaluating Forms
Symbol Forms
Classification of List Forms
Symbol Function Indirection
Evaluation of Function Forms
Lisp Macro Evaluation
Special Forms
Autoloading
Quoting
Eval
Control Structures
Sequencing
Conditionals
Constructs for Combining Conditions
Iteration
Nonlocal Exits
Explicit Nonlocal Exits: catch and throw
Examples of catch and throw
Errors
How to Signal an Error
How Emacs Processes Errors
Writing Code to Handle Errors
Error Symbols and Condition Names
Cleaning Up from Nonlocal Exits
Variables
Global Variables
Variables That Never Change
Local Variables
When a Variable is "Void"
Defining Global Variables
Tips for Defining Variables Robustly
Accessing Variable Values
How to Alter a Variable Value
Scoping Rules for Variable Bindings
Scope
Extent
Implementation of Dynamic Scoping
Proper Use of Dynamic Scoping
Buffer-Local Variables
Introduction to Buffer-Local Variables
Creating and Deleting Buffer-Local Bindings
The Default Value of a Buffer-Local Variable
Frame-Local Variables
Possible Future Local Variables
Functions
What Is a Function?
Lambda Expressions
Components of a Lambda Expression
A Simple Lambda-Expression Example
Other Features of Argument Lists
Documentation Strings of Functions
Naming a Function
Defining Functions
Calling Functions
Mapping Functions
Anonymous Functions
Accessing Function Cell Contents
Inline Functions
Other Topics Related to Functions
Macros
A Simple Example of a Macro
Expansion of a Macro Call
Macros and Byte Compilation
Defining Macros
Backquote
Common Problems Using Macros
Evaluating Macro Arguments Repeatedly
Local Variables in Macro Expansions
Evaluating Macro Arguments in Expansion
How Many Times is the Macro Expanded?
Writing Customization Definitions
Common Keywords for All Kinds of Items
Defining Custom Groups
Defining Customization Variables
Customization Types
Simple Types
Composite Types
Splicing into Lists
Type Keywords
Loading
How Programs Do Loading
Library Search
Loading Non-ASCII Characters
Autoload
Repeated Loading
Features
Unloading
Hooks for Loading
Byte Compilation
Performance of Byte-Compiled Code
The Compilation Functions
Documentation Strings and Compilation
Dynamic Loading of Individual Functions
Evaluation During Compilation
Byte-Code Function Objects
Disassembled Byte-Code
Advising Emacs Lisp Functions
A Simple Advice Example
Defining Advice
Around-Advice
Computed Advice
Activation of Advice
Enabling and Disabling Advice
Preactivation
Argument Access in Advice
Definition of Subr Argument Lists
The Combined Definition
Debugging Lisp Programs
The Lisp Debugger
Entering the Debugger on an Error
Debugging Infinite Loops
Entering the Debugger on a Function Call
Explicit Entry to the Debugger
Using the Debugger
Debugger Commands
Invoking the Debugger
Internals of the Debugger
Edebug
Using Edebug
Instrumenting for Edebug
Edebug Execution Modes
Jumping
Miscellaneous Edebug Commands
Breakpoints
Global Break Condition
Source Breakpoints
Trapping Errors
Edebug Views
Evaluation
Evaluation List Buffer
Printing in Edebug
Trace Buffer
Coverage Testing
The Outside Context
Checking Whether to Stop
Edebug Display Update
Edebug Recursive Edit
Instrumenting Macro Calls
Specification List
Backtracking in Specifications
Specification Examples
Edebug Options
Debugging Invalid Lisp Syntax
Excess Open Parentheses
Excess Close Parentheses
Debugging Problems in Compilation
Reading and Printing Lisp Objects
Introduction to Reading and Printing
Input Streams
Input Functions
Output Streams
Output Functions
Variables Affecting Output
Minibuffers
Introduction to Minibuffers
Reading Text Strings with the Minibuffer
Reading Lisp Objects with the Minibuffer
Minibuffer History
Completion
Basic Completion Functions
Completion and the Minibuffer
Minibuffer Commands That Do Completion
High-Level Completion Functions
Reading File Names
Programmed Completion
Yes-or-No Queries
Asking Multiple Y-or-N Questions
Reading a Password
Minibuffer Miscellany
Command Loop
Command Loop Overview
Defining Commands
Using interactive
Code Characters for interactive
Examples of Using interactive
Interactive Call
Information from the Command Loop
Input Events
Keyboard Events
Function Keys
Mouse Events
Click Events
Drag Events
Button-Down Events
Repeat Events
Motion Events
Focus Events
Miscellaneous Window System Events
Event Examples
Classifying Events
Accessing Events
Putting Keyboard Events in Strings
Reading Input
Key Sequence Input
Reading One Event
Quoted Character Input
Miscellaneous Event Input Features
Special Events
Waiting for Elapsed Time or Input
Quitting
Prefix Command Arguments
Recursive Editing
Disabling Commands
Command History
Keyboard Macros
Keymaps
Keymap Terminology
Format of Keymaps
Creating Keymaps
Inheritance and Keymaps
Prefix Keys
Active Keymaps
Key Lookup
Functions for Key Lookup
Changing Key Bindings
Commands for Binding Keys
Scanning Keymaps
Menu Keymaps
Defining Menus
Simple Menu Items
Extended Menu Items
Alias Menu Items
Menus and the Mouse
Menus and the Keyboard
Menu Example
The Menu Bar
Modifying Menus
Major and Minor Modes
Major Modes
Major Mode Conventions
Major Mode Examples
How Emacs Chooses a Major Mode
Getting Help about a Major Mode
Defining Derived Modes
Minor Modes
Conventions for Writing Minor Modes
Keymaps and Minor Modes
Easy-Mmode
Mode Line Format
The Data Structure of the Mode Line
Variables Used in the Mode Line
%-Constructs in the Mode Line
Imenu
Font Lock Mode
Font Lock Basics
Search-based Fontification
Other Font Lock Variables
Levels of Font Lock
Faces for Font Lock
Syntactic Font Lock
Hooks
Documentation
Documentation Basics
Access to Documentation Strings
Substituting Key Bindings in Documentation
Describing Characters for Help Messages
Help Functions
Files
Visiting Files
Functions for Visiting Files
Subroutines of Visiting
Saving Buffers
Reading from Files
Writing to Files
File Locks
Information about Files
Testing Accessibility
Distinguishing Kinds of Files
Truenames
Other Information about Files
Changing File Names and Attributes
File Names
File Name Components
Directory Names
Absolute and Relative File Names
Functions that Expand Filenames
Generating Unique File Names
File Name Completion
Standard File Names
Contents of Directories
Creating and Deleting Directories
Making Certain File Names "Magic"
File Format Conversion
Backups and Auto-Saving
Backup Files
Making Backup Files
Backup by Renaming or by Copying?
Making and Deleting Numbered Backup Files
Naming Backup Files
Auto-Saving
Reverting
Buffers
Buffer Basics
The Current Buffer
Buffer Names
Buffer File Name
Buffer Modification
Comparison of Modification Time
Read-Only Buffers
The Buffer List
Creating Buffers
Killing Buffers
Indirect Buffers
Windows
Basic Concepts of Emacs Windows
Splitting Windows
Deleting Windows
Selecting Windows
Cyclic Ordering of Windows
Buffers and Windows
Displaying Buffers in Windows
Choosing a Window for Display
Windows and Point
The Window Start Position
Vertical Scrolling
Horizontal Scrolling
The Size of a Window
Changing the Size of a Window
Coordinates and Windows
Window Configurations
Hooks for Window Scrolling and Changes
Frames
Creating Frames
Multiple Displays
Frame Parameters
Access to Frame Parameters
Initial Frame Parameters
Window Frame Parameters
Frame Size And Position
Frame Titles
Deleting Frames
Finding All Frames
Frames and Windows
Minibuffers and Frames
Input Focus
Visibility of Frames
Raising and Lowering Frames
Frame Configurations
Mouse Tracking
Mouse Position
Pop-Up Menus
Dialog Boxes
Pointer Shapes
Window System Selections
Looking up Font Names
Fontsets
Color Names
X Resources
Data about the X Server
Positions
Point
Motion
Motion by Characters
Motion by Words
Motion to an End of the Buffer
Motion by Text Lines
Motion by Screen Lines
Moving over Balanced Expressions
Skipping Characters
Excursions
Narrowing
Markers
Overview of Markers
Predicates on Markers
Functions That Create Markers
Information from Markers
Marker Insertion Types
Moving Marker Positions
The Mark
The Region
Text
Examining Text Near Point
Examining Buffer Contents
Comparing Text
Inserting Text
User-Level Insertion Commands
Deleting Text
User-Level Deletion Commands
The Kill Ring
Kill Ring Concepts
Functions for Killing
Functions for Yanking
Low-Level Kill Ring
Internals of the Kill Ring
Undo
Maintaining Undo Lists
Filling
Margins for Filling
Adaptive Fill Mode
Auto Filling
Sorting Text
Counting Columns
Indentation
Indentation Primitives
Indentation Controlled by Major Mode
Indenting an Entire Region
Indentation Relative to Previous Lines
Adjustable "Tab Stops"
Indentation-Based Motion Commands
Case Changes
Text Properties
Examining Text Properties
Changing Text Properties
Text Property Search Functions
Properties with Special Meanings
Formatted Text Properties
Stickiness of Text Properties
Saving Text Properties in Files
Lazy Computation of Text Properties
Defining Clickable Text
Why Text Properties are not Intervals
Substituting for a Character Code
Registers
Transposition of Text
Change Hooks
Non-ASCII Characters
Text Representations
Converting Text Representations
Selecting a Representation
Character Codes
Character Sets
Characters and Bytes
Splitting Characters
Scanning for Character Sets
Translation of Characters
Coding Systems
Basic Concepts of Coding Systems
Encoding and I/O
Coding Systems in Lisp
User-Chosen Coding Systems
Default Coding Systems
Specifying a Coding System for One Operation
Explicit Encoding and Decoding
Terminal I/O Encoding
MS-DOS File Types
Input Methods
Searching and Matching
Searching for Strings
Regular Expressions
Syntax of Regular Expressions
Complex Regexp Example
Regular Expression Searching
POSIX Regular Expression Searching
Search and Replace
The Match Data
Replacing the Text That Matched
Simple Match Data Access
Accessing the Entire Match Data
Saving and Restoring the Match Data
Searching and Case
Standard Regular Expressions Used in Editing
Syntax Tables
Syntax Table Concepts
Syntax Descriptors
Table of Syntax Classes
Syntax Flags
Syntax Table Functions
Syntax Properties
Motion and Syntax
Parsing Balanced Expressions
Some Standard Syntax Tables
Syntax Table Internals
Categories
Abbrevs And Abbrev Expansion
Setting Up Abbrev Mode
Abbrev Tables
Defining Abbrevs
Saving Abbrevs in Files
Looking Up and Expanding Abbreviations
Standard Abbrev Tables
Processes
Functions that Create Subprocesses
Shell Arguments
Creating a Synchronous Process
Creating an Asynchronous Process
Deleting Processes
Process Information
Sending Input to Processes
Sending Signals to Processes
Receiving Output from Processes
Process Buffers
Process Filter Functions
Accepting Output from Processes
Sentinels: Detecting Process Status Changes
Transaction Queues
Network Connections
Operating System Interface
Starting Up Emacs
Summary: Sequence of Actions at Start Up
The Init File: `.emacs'
Terminal-Specific Initialization
Command Line Arguments
Getting Out of Emacs
Killing Emacs
Suspending Emacs
Operating System Environment
User Identification
Time of Day
Time Conversion
Timers for Delayed Execution
Terminal Input
Input Modes
Translating Input Events
Recording Input
Terminal Output
System-Specific X11 Keysyms
Flow Control
Batch Mode
Emacs Display
Refreshing the Screen
Truncation
The Echo Area
Invisible Text
Selective Display
The Overlay Arrow
Temporary Displays
Overlays
Overlay Properties
Managing Overlays
Width
Faces
Standard Faces
Defining Faces
Merging Faces for Display
Functions for Working with Faces
Blinking Parentheses
Inverse Video
Usual Display Conventions
Display Tables
Display Table Format
Active Display Table
Glyphs
Beeping
Window Systems
Customizing the Calendar and Diary
Customizing the Calendar
Customizing the Holidays
Date Display Format
Time Display Format
Daylight Savings Time
Customizing the Diary
Hebrew- and Islamic-Date Diary Entries
Fancy Diary Display
Sexp Entries and the Fancy Diary Display
Customizing Appointment Reminders
Tips and Conventions
Emacs Lisp Coding Conventions
Tips for Making Compiled Code Fast
Tips for Documentation Strings
Tips on Writing Comments
Conventional Headers for Emacs Libraries
GNU Emacs Internals
Building Emacs
Pure Storage
Garbage Collection
Memory Usage
Writing Emacs Primitives
Object Internals
Buffer Internals
Window Internals
Process Internals
Standard Errors
Buffer-Local Variables
Standard Keymaps
Standard Hooks
New Symbols Since the Previous Edition
Search
TOC:
Show
/
Hide
Indexes:
Functions
/
Variables
/
Commands
/
Forms
/
Options
/
Macros
/
Keywords
/
Misc
Next:
GNU GENERAL PUBLIC LICENSE
Previous:
GNU Emacs Lisp Reference Manual