Emacs Lisp
The homepage for GNU Emacs is at https://www.gnu.org/software/emacs/. For information on using Emacs, refer to the Emacs Manual. To view this manual in other formats, click here.
This is the GNU Emacs Lisp Reference Manual corresponding to Emacs version 27.1.
Introduction | Introduction and conventions used. |
Lisp Data Types | Data types of objects in Emacs Lisp. |
Numbers | Numbers and arithmetic functions. |
Strings and Characters | Strings, and functions that work on them. |
Lists | Lists, cons cells, and related functions. |
Sequences Arrays Vectors | Lists, strings and vectors are called sequences. Certain functions act on any kind of sequence. The description of vectors is here as well. |
Records | Compound objects with programmer-defined types. |
Hash Tables | Very fast lookup-tables. |
Symbols | Symbols represent names, uniquely. |
Evaluation | How Lisp expressions are evaluated. |
Control Structures | Conditionals, loops, nonlocal exits. |
Variables | Using symbols in programs to stand for values. |
Functions | A function is a Lisp program that can be invoked from other functions. |
Macros | Macros are a way to extend the Lisp language. |
Customization | Making variables and faces customizable. |
Loading | Reading files of Lisp code into Lisp. |
Byte Compilation | Compilation makes programs run faster. |
Debugging | Tools and tips for debugging Lisp programs. |
Read and Print | Converting Lisp objects to text and back. |
Minibuffers | Using the minibuffer to read input. |
Command Loop | How the editor command loop works, and how you can call its subroutines. |
Keymaps | Defining the bindings from keys to commands. |
Modes | Defining major and minor modes. |
Documentation | Writing and using documentation strings. |
Files | Accessing files. |
Backups and Auto-Saving | Controlling how backups and auto-save files are made. |
Buffers | Creating and using buffer objects. |
Windows | Manipulating windows and displaying buffers. |
Frames | Making multiple system-level windows. |
Positions | Buffer positions and motion functions. |
Markers | Markers represent positions and update automatically when the text is changed. |
Text | Examining and changing text in buffers. |
Non-ASCII Characters | Non-ASCII text in buffers and strings. |
Searching and Matching | Searching buffers for strings or regexps. |
Syntax Tables | The syntax table controls word and list parsing. |
Abbrevs | How Abbrev mode works, and its data structures. |
Threads | Concurrency in Emacs Lisp. |
Processes | Running and communicating with subprocesses. |
Display | Features for controlling the screen display. |
System Interface | Getting the user id, system type, environment variables, and other such things. |
Packaging | Preparing Lisp code for distribution. |
Appendices | |
Antinews | Info for users downgrading to Emacs 26. |
GNU Free Documentation License | The license for this documentation. |
GPL | Conditions for copying and changing GNU Emacs. |
Tips | Advice and coding conventions for Emacs Lisp. |
GNU Emacs Internals | Building and dumping Emacs; internal data structures. |
Standard Errors | List of some standard error symbols. |
Standard Keymaps | List of some standard keymaps. |
Standard Hooks | List of some standard hook variables. |
Index | Index including concepts, functions, variables, and other terms. |