aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2007-02-02 18:00:19 +0000
committerEli Zaretskii2007-02-02 18:00:19 +0000
commit05d21112498067ddc326ebfc83763f675e5a84b4 (patch)
tree229d5a95752ca895e2018f0831f5269c8e0a683b
parent5e1a6e327096094cdb5ff2de814023904f494400 (diff)
downloademacs-05d21112498067ddc326ebfc83763f675e5a84b4.tar.gz
emacs-05d21112498067ddc326ebfc83763f675e5a84b4.zip
(Top): Update the top-level menus.
-rw-r--r--lispref/elisp.texi389
1 files changed, 341 insertions, 48 deletions
diff --git a/lispref/elisp.texi b/lispref/elisp.texi
index 9bbe806033c..88592940a29 100644
--- a/lispref/elisp.texi
+++ b/lispref/elisp.texi
@@ -196,8 +196,10 @@ Conventions
196 196
197Format of Descriptions 197Format of Descriptions
198 198
199* A Sample Function Description:: 199* A Sample Function Description:: A description of an imaginary
200* A Sample Variable Description:: 200 function, @code{foo}.
201* A Sample Variable Description:: A description of an imaginary
202 variable, @code{electric-future-map}.
201 203
202Lisp Data Types 204Lisp Data Types
203 205
@@ -233,20 +235,35 @@ Programming Types
233* Autoload Type:: A type used for automatically loading seldom-used 235* Autoload Type:: A type used for automatically loading seldom-used
234 functions. 236 functions.
235 237
238Character Type
239
240* Basic Char Syntax:: Syntax for regular characters.
241* General Escape Syntax:: How to specify characters by their codes.
242* Ctl-Char Syntax:: Syntax for control characters.
243* Meta-Char Syntax:: Syntax for meta-characters.
244* Other Char Bits:: Syntax for hyper-, super-, and alt-characters.
245
236Cons Cell and List Types 246Cons Cell and List Types
237 247
238* Box Diagrams:: Drawing pictures of lists. 248* Box Diagrams:: Drawing pictures of lists.
239* Dotted Pair Notation:: An alternative syntax for lists. 249* Dotted Pair Notation:: An alternative syntax for lists.
240* Association List Type:: A specially constructed list. 250* Association List Type:: A specially constructed list.
241 251
252String Type
253
254* Syntax for Strings:: How to specify Lisp strings.
255* Non-ASCII in Strings:: International characters in strings.
256* Nonprinting Characters:: Literal unprintable characters in strings.
257* Text Props and Strings:: Strings with text properties.
258
242Editing Types 259Editing Types
243 260
244* Buffer Type:: The basic object of editing. 261* Buffer Type:: The basic object of editing.
245* Marker Type:: A position in a buffer. 262* Marker Type:: A position in a buffer.
246* Window Type:: What makes buffers visible. 263* Window Type:: What makes buffers visible.
247* Frame Type:: Windows subdivide frames. 264* Frame Type:: Windows subdivide frames.
248* Window Configuration Type::Save what the screen looks like. 265* Window Configuration Type:: Recording the way a frame is subdivided.
249* Frame Configuration Type::Recording the status of all frames. 266* Frame Configuration Type:: Recording the status of all frames.
250* Process Type:: A process running on the underlying OS. 267* Process Type:: A process running on the underlying OS.
251* Stream Type:: Receive or send characters. 268* Stream Type:: Receive or send characters.
252* Keymap Type:: What function a keystroke invokes. 269* Keymap Type:: What function a keystroke invokes.
@@ -254,16 +271,16 @@ Editing Types
254 271
255Numbers 272Numbers
256 273
257* Integer Basics:: Representation and range of integers. 274* Integer Basics:: Representation and range of integers.
258* Float Basics:: Representation and range of floating point. 275* Float Basics:: Representation and range of floating point.
259* Predicates on Numbers:: Testing for numbers. 276* Predicates on Numbers:: Testing for numbers.
260* Comparison of Numbers:: Equality and inequality predicates. 277* Comparison of Numbers:: Equality and inequality predicates.
261* Numeric Conversions:: Converting float to integer and vice versa. 278* Numeric Conversions:: Converting float to integer and vice versa.
262* Arithmetic Operations:: How to add, subtract, multiply and divide. 279* Arithmetic Operations:: How to add, subtract, multiply and divide.
263* Rounding Operations:: Explicitly rounding floating point numbers. 280* Rounding Operations:: Explicitly rounding floating point numbers.
264* Bitwise Operations:: Logical and, or, not, shifting. 281* Bitwise Operations:: Logical and, or, not, shifting.
265* Math Functions:: Trig, exponential and logarithmic functions. 282* Math Functions:: Trig, exponential and logarithmic functions.
266* Random Numbers:: Obtaining random integers, predictable or not. 283* Random Numbers:: Obtaining random integers, predictable or not.
267 284
268Strings and Characters 285Strings and Characters
269 286
@@ -272,10 +289,10 @@ Strings and Characters
272* Creating Strings:: Functions to allocate new strings. 289* Creating Strings:: Functions to allocate new strings.
273* Modifying Strings:: Altering the contents of an existing string. 290* Modifying Strings:: Altering the contents of an existing string.
274* Text Comparison:: Comparing characters or strings. 291* Text Comparison:: Comparing characters or strings.
275* String Conversion:: Converting characters or strings and vice versa. 292* String Conversion:: Converting characters to strings and vice versa.
276* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 293* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
277* Case Conversion:: Case conversion functions. 294* Case Conversion:: Case conversion functions.
278* Case Tables:: Customizing case conversion. 295* Case Tables:: Customizing case conversion.
279 296
280Lists 297Lists
281 298
@@ -283,6 +300,7 @@ Lists
283* List-related Predicates:: Is this object a list? Comparing two lists. 300* List-related Predicates:: Is this object a list? Comparing two lists.
284* List Elements:: Extracting the pieces of a list. 301* List Elements:: Extracting the pieces of a list.
285* Building Lists:: Creating list structure. 302* Building Lists:: Creating list structure.
303* List Variables:: Modifying lists stored in variables.
286* Modifying Lists:: Storing new pieces into an existing list. 304* Modifying Lists:: Storing new pieces into an existing list.
287* Sets And Lists:: A list can represent a finite mathematical set. 305* Sets And Lists:: A list can represent a finite mathematical set.
288* Association Lists:: A list can represent a finite relation or mapping. 306* Association Lists:: A list can represent a finite relation or mapping.
@@ -300,7 +318,7 @@ Sequences, Arrays, and Vectors
300* Sequence Functions:: Functions that accept any kind of sequence. 318* Sequence Functions:: Functions that accept any kind of sequence.
301* Arrays:: Characteristics of arrays in Emacs Lisp. 319* Arrays:: Characteristics of arrays in Emacs Lisp.
302* Array Functions:: Functions specifically for arrays. 320* Array Functions:: Functions specifically for arrays.
303* Vectors:: Functions specifically for vectors. 321* Vectors:: Special characteristics of Emacs Lisp vectors.
304* Vector Functions:: Functions specifically for vectors. 322* Vector Functions:: Functions specifically for vectors.
305* Char-Tables:: How to work with char-tables. 323* Char-Tables:: How to work with char-tables.
306* Bool-Vectors:: How to work with bool-vectors. 324* Bool-Vectors:: How to work with bool-vectors.
@@ -321,6 +339,13 @@ Symbols
321* Property Lists:: Each symbol has a property list 339* Property Lists:: Each symbol has a property list
322 for recording miscellaneous information. 340 for recording miscellaneous information.
323 341
342Property Lists
343
344* Plists and Alists:: Comparison of the advantages of property
345 lists and association lists.
346* Symbol Plists:: Functions to access symbols' property lists.
347* Other Plists:: Accessing property lists stored elsewhere.
348
324Evaluation 349Evaluation
325 350
326* Intro Eval:: Evaluation in the scheme of things. 351* Intro Eval:: Evaluation in the scheme of things.
@@ -442,6 +467,15 @@ Macros
442 Don't hide the user's variables. 467 Don't hide the user's variables.
443* Indenting Macros:: Specifying how to indent macro calls. 468* Indenting Macros:: Specifying how to indent macro calls.
444 469
470Common Problems Using Macros
471
472* Wrong Time:: Do the work in the expansion, not in the macro.
473* Argument Evaluation:: The expansion should evaluate each macro arg once.
474* Surprising Local Vars:: Local variable bindings in the expansion
475 require special care.
476* Eval During Expansion:: Don't evaluate them; put them in the expansion.
477* Repeated Expansion:: Avoid depending on how many times expansion is done.
478
445Writing Customization Definitions 479Writing Customization Definitions
446 480
447* Common Keywords:: Common keyword arguments for all kinds of 481* Common Keywords:: Common keyword arguments for all kinds of
@@ -450,6 +484,15 @@ Writing Customization Definitions
450* Variable Definitions:: Declaring user options. 484* Variable Definitions:: Declaring user options.
451* Customization Types:: Specifying the type of a user option. 485* Customization Types:: Specifying the type of a user option.
452 486
487Customization Types
488
489* Simple Types:: Simple customization types: sexp, integer, number,
490 string, file, directory, alist.
491* Composite Types:: Build new types from other types or data.
492* Splicing into Lists:: Splice elements into list with @code{:inline}.
493* Type Keywords:: Keyword-argument pairs in a customization type.
494* Defining New Types:: Give your type a name.
495
453Loading 496Loading
454 497
455* How Programs Do Loading:: The @code{load} function and others. 498* How Programs Do Loading:: The @code{load} function and others.
@@ -602,27 +645,58 @@ Defining Commands
602 in various ways. 645 in various ways.
603* Interactive Examples:: Examples of how to read interactive arguments. 646* Interactive Examples:: Examples of how to read interactive arguments.
604 647
648Input Events
649
650* Keyboard Events:: Ordinary characters--keys with symbols on them.
651* Function Keys:: Function keys--keys with names, not symbols.
652* Mouse Events:: Overview of mouse events.
653* Click Events:: Pushing and releasing a mouse button.
654* Drag Events:: Moving the mouse before releasing the button.
655* Button-Down Events:: A button was pushed and not yet released.
656* Repeat Events:: Double and triple click (or drag, or down).
657* Motion Events:: Just moving the mouse, not pushing a button.
658* Focus Events:: Moving the mouse between frames.
659* Misc Events:: Other events the system can generate.
660* Event Examples:: Examples of the lists for mouse events.
661* Classifying Events:: Finding the modifier keys in an event symbol.
662* Accessing Events:: Functions to extract info from events.
663* Strings of Events:: Special considerations for putting
664 keyboard character events in a string.
665
666Reading Input
667
668* Key Sequence Input:: How to read one key sequence.
669* Reading One Event:: How to read just one event.
670* Event Mod:: How Emacs modifies events as they are read.
671* Invoking the Input Method:: How reading an event uses the input method.
672* Quoted Character Input:: Asking the user to specify a character.
673* Event Input Misc:: How to reread or throw away input events.
674
605Keymaps 675Keymaps
606 676
607* Key Sequences:: Key sequences as Lisp objects. 677* Key Sequences:: Key sequences as Lisp objects.
608* Keymap Basics:: Basic concepts of keymaps. 678* Keymap Basics:: Basic concepts of keymaps.
609* Format of Keymaps:: What a keymap looks like as a Lisp object. 679* Format of Keymaps:: What a keymap looks like as a Lisp object.
610* Creating Keymaps:: Functions to create and copy keymaps. 680* Creating Keymaps:: Functions to create and copy keymaps.
611* Inheritance and Keymaps:: How one keymap can inherit the bindings 681* Inheritance and Keymaps:: How one keymap can inherit the bindings
612 of another keymap. 682 of another keymap.
613* Prefix Keys:: Defining a key with a keymap as its definition. 683* Prefix Keys:: Defining a key with a keymap as its definition.
614* Active Keymaps:: Each buffer has a local keymap 684* Active Keymaps:: How Emacs searches the active keymaps
615 to override the standard (global) bindings. 685 for a key binding.
616 Each minor mode can also override them. 686* Searching Keymaps:: A pseudo-Lisp summary of searching active maps.
617* Key Lookup:: How extracting elements from keymaps works. 687* Controlling Active Maps:: Each buffer has a local keymap
688 to override the standard (global) bindings.
689 A minor mode can also override them.
690* Key Lookup:: How extracting elements from keymaps works.
618* Functions for Key Lookup:: How to request key lookup. 691* Functions for Key Lookup:: How to request key lookup.
619* Changing Key Bindings:: Redefining a key in a keymap. 692* Changing Key Bindings:: Redefining a key in a keymap.
620* Remapping Commands:: A keymap can translate one command to another. 693* Remapping Commands:: A keymap can translate one command to another.
621* Key Binding Commands:: Interactive interfaces for redefining keys. 694* Translation Keymaps:: Keymaps for translating sequences of events.
622* Scanning Keymaps:: Looking through all keymaps, for printing help. 695* Key Binding Commands:: Interactive interfaces for redefining keys.
623* Menu Keymaps:: A keymap can define a menu for X 696* Scanning Keymaps:: Looking through all keymaps, for printing help.
624 or for use from the terminal. 697* Menu Keymaps:: A keymap can define a menu for X
625* Standard Keymaps:: List of standard keymaps. 698 or for use from the terminal.
699* Standard Keymaps:: List of standard keymaps.
626 700
627Major and Minor Modes 701Major and Minor Modes
628 702
@@ -637,6 +711,38 @@ Major and Minor Modes
637* Desktop Save Mode:: How modes can have buffer state saved between 711* Desktop Save Mode:: How modes can have buffer state saved between
638 Emacs sessions. 712 Emacs sessions.
639 713
714Menu Keymaps
715
716* Defining Menus:: How to make a keymap that defines a menu.
717* Mouse Menus:: How users actuate the menu with the mouse.
718* Keyboard Menus:: How users actuate the menu with the keyboard.
719* Menu Example:: Making a simple menu.
720* Menu Bar:: How to customize the menu bar.
721* Tool Bar:: A tool bar is a row of images.
722* Modifying Menus:: How to add new items to a menu.
723
724Defining Menus
725
726* Simple Menu Items:: A simple kind of menu key binding,
727 limited in capabilities.
728* Extended Menu Items:: More powerful menu item definitions
729 let you specify keywords to enable
730 various features.
731* Menu Separators:: Drawing a horizontal line through a menu.
732* Alias Menu Items:: Using command aliases in menu items.
733
734Major and Minor Modes
735
736* Hooks:: How to use hooks; how to write code that provides hooks.
737* Major Modes:: Defining major modes.
738* Minor Modes:: Defining minor modes.
739* Mode Line Format:: Customizing the text that appears in the mode line.
740* Imenu:: How a mode can provide a menu
741 of definitions in the buffer.
742* Font Lock Mode:: How modes can highlight text according to syntax.
743* Desktop Save Mode:: How modes can have buffer state saved between
744 Emacs sessions.
745
640Major Modes 746Major Modes
641 747
642* Major Mode Basics:: 748* Major Mode Basics::
@@ -666,6 +772,29 @@ Mode Line Format
666* Header Lines:: Like a mode line, but at the top. 772* Header Lines:: Like a mode line, but at the top.
667* Emulating Mode Line:: Formatting text as the mode line would. 773* Emulating Mode Line:: Formatting text as the mode line would.
668 774
775Font Lock Mode
776
777* Font Lock Basics:: Overview of customizing Font Lock.
778* Search-based Fontification:: Fontification based on regexps.
779* Customizing Keywords:: Customizing search-based fontification.
780* Other Font Lock Variables:: Additional customization facilities.
781* Levels of Font Lock:: Each mode can define alternative levels
782 so that the user can select more or less.
783* Precalculated Fontification:: How Lisp programs that produce the buffer
784 contents can also specify how to fontify it.
785* Faces for Font Lock:: Special faces specifically for Font Lock.
786* Syntactic Font Lock:: Fontification based on syntax tables.
787* Setting Syntax Properties:: Defining character syntax based on context
788 using the Font Lock mechanism.
789* Multiline Font Lock:: How to coerce Font Lock into properly
790 highlighting multiline constructs.
791
792Multiline Font Lock Constructs
793
794* Font Lock Multiline:: Marking multiline chunks with a text property
795* Region to Fontify:: Controlling which region gets refontified
796 after a buffer change.
797
669Documentation 798Documentation
670 799
671* Documentation Basics:: Good style for doc strings. 800* Documentation Basics:: Good style for doc strings.
@@ -704,6 +833,7 @@ Information about Files
704* Kinds of Files:: Is it a directory? A symbolic link? 833* Kinds of Files:: Is it a directory? A symbolic link?
705* Truenames:: Eliminating symbolic links from a file name. 834* Truenames:: Eliminating symbolic links from a file name.
706* File Attributes:: How large is it? Any other names? Etc. 835* File Attributes:: How large is it? Any other names? Etc.
836* Locating Files:: How to find a file in standard places.
707 837
708File Names 838File Names
709 839
@@ -745,7 +875,7 @@ Buffers
745 is visited. 875 is visited.
746* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved. 876* Buffer Modification:: A buffer is @dfn{modified} if it needs to be saved.
747* Modification Time:: Determining whether the visited file was changed 877* Modification Time:: Determining whether the visited file was changed
748 "behind Emacs's back". 878 ``behind Emacs's back''.
749* Read Only Buffers:: Modifying text is not allowed in a 879* Read Only Buffers:: Modifying text is not allowed in a
750 read-only buffer. 880 read-only buffer.
751* The Buffer List:: How to look at all the existing buffers. 881* The Buffer List:: How to look at all the existing buffers.
@@ -763,7 +893,7 @@ Windows
763* Selecting Windows:: The selected window is the one that you edit in. 893* Selecting Windows:: The selected window is the one that you edit in.
764* Cyclic Window Ordering:: Moving around the existing windows. 894* Cyclic Window Ordering:: Moving around the existing windows.
765* Buffers and Windows:: Each window displays the contents of a buffer. 895* Buffers and Windows:: Each window displays the contents of a buffer.
766* Displaying Buffers:: Higher-lever functions for displaying a buffer 896* Displaying Buffers:: Higher-level functions for displaying a buffer
767 and choosing a window for it. 897 and choosing a window for it.
768* Choosing Window:: How to choose a window for displaying a buffer. 898* Choosing Window:: How to choose a window for displaying a buffer.
769* Window Point:: Each window has its own location of point. 899* Window Point:: Each window has its own location of point.
@@ -775,6 +905,7 @@ Windows
775* Size of Window:: Accessing the size of a window. 905* Size of Window:: Accessing the size of a window.
776* Resizing Windows:: Changing the size of a window. 906* Resizing Windows:: Changing the size of a window.
777* Coordinates and Windows:: Converting coordinates to windows. 907* Coordinates and Windows:: Converting coordinates to windows.
908* Window Tree:: The layout and sizes of all windows in a frame.
778* Window Configurations:: Saving and restoring the state of the screen. 909* Window Configurations:: Saving and restoring the state of the screen.
779* Window Hooks:: Hooks for scrolling, window size changes, 910* Window Hooks:: Hooks for scrolling, window size changes,
780 redisplay going past a certain point, 911 redisplay going past a certain point,
@@ -783,7 +914,7 @@ Windows
783Frames 914Frames
784 915
785* Creating Frames:: Creating additional frames. 916* Creating Frames:: Creating additional frames.
786* Multiple Displays:: Creating frames on other X displays. 917* Multiple Displays:: Creating frames on other displays.
787* Frame Parameters:: Controlling frame size, position, font, etc. 918* Frame Parameters:: Controlling frame size, position, font, etc.
788* Frame Titles:: Automatic updating of frame titles. 919* Frame Titles:: Automatic updating of frame titles.
789* Deleting Frames:: Frames last until explicitly deleted. 920* Deleting Frames:: Frames last until explicitly deleted.
@@ -793,7 +924,7 @@ Frames
793* Minibuffers and Frames:: How a frame finds the minibuffer to use. 924* Minibuffers and Frames:: How a frame finds the minibuffer to use.
794* Input Focus:: Specifying the selected frame. 925* Input Focus:: Specifying the selected frame.
795* Visibility of Frames:: Frames may be visible or invisible, or icons. 926* Visibility of Frames:: Frames may be visible or invisible, or icons.
796* Raising and Lowering:: Raising a frame makes it hide other X windows; 927* Raising and Lowering:: Raising a frame makes it hide other windows;
797 lowering it puts it underneath the others. 928 lowering it puts it underneath the others.
798* Frame Configurations:: Saving the state of all frames. 929* Frame Configurations:: Saving the state of all frames.
799* Mouse Tracking:: Getting events that say when the mouse moves. 930* Mouse Tracking:: Getting events that say when the mouse moves.
@@ -802,11 +933,32 @@ Frames
802* Dialog Boxes:: Displaying a box to ask yes or no. 933* Dialog Boxes:: Displaying a box to ask yes or no.
803* Pointer Shape:: Specifying the shape of the mouse pointer. 934* Pointer Shape:: Specifying the shape of the mouse pointer.
804* Window System Selections::Transferring text to and from other windows. 935* Window System Selections::Transferring text to and from other windows.
936* Drag and Drop:: Internals of Drag-and-Drop implementation.
805* Color Names:: Getting the definitions of color names. 937* Color Names:: Getting the definitions of color names.
806* Text Terminal Colors:: Defining colors for text-only terminals. 938* Text Terminal Colors:: Defining colors for text-only terminals.
807* Resources:: Getting resource values from the server. 939* Resources:: Getting resource values from the server.
808* Display Feature Testing:: Determining the features of a terminal. 940* Display Feature Testing:: Determining the features of a terminal.
809 941
942Frame Parameters
943
944* Parameter Access:: How to change a frame's parameters.
945* Initial Parameters:: Specifying frame parameters when you make a frame.
946* Window Frame Parameters:: List of frame parameters for window systems.
947* Size and Position:: Changing the size and position of a frame.
948* Geometry:: Parsing geometry specifications.
949
950Window Frame Parameters
951
952* Basic Parameters:: Parameters that are fundamental.
953* Position Parameters:: The position of the frame on the screen.
954* Size Parameters:: Frame's size.
955* Layout Parameters:: Size of parts of the frame, and
956 enabling or disabling some parts.
957* Buffer Parameters:: Which buffers have been or should be shown.
958* Management Parameters:: Communicating with the window manager.
959* Cursor Parameters:: Controlling the cursor appearance.
960* Color Parameters:: Colors of various parts of the frame.
961
810Positions 962Positions
811 963
812* Point:: The special position where editing takes place. 964* Point:: The special position where editing takes place.
@@ -916,7 +1068,7 @@ Non-ASCII Characters
916* Selecting a Representation:: Treating a byte sequence as unibyte or multi. 1068* Selecting a Representation:: Treating a byte sequence as unibyte or multi.
917* Character Codes:: How unibyte and multibyte relate to 1069* Character Codes:: How unibyte and multibyte relate to
918 codes of individual characters. 1070 codes of individual characters.
919* Character Sets:: The space of possible characters codes 1071* Character Sets:: The space of possible character codes
920 is divided into various character sets. 1072 is divided into various character sets.
921* Chars and Bytes:: More information about multibyte encodings. 1073* Chars and Bytes:: More information about multibyte encodings.
922* Splitting Characters:: Converting a character to its byte sequence. 1074* Splitting Characters:: Converting a character to its byte sequence.
@@ -927,6 +1079,20 @@ Non-ASCII Characters
927 non-ASCII characters without special keyboards. 1079 non-ASCII characters without special keyboards.
928* Locales:: Interacting with the POSIX locale. 1080* Locales:: Interacting with the POSIX locale.
929 1081
1082Coding Systems
1083
1084* Coding System Basics:: Basic concepts.
1085* Encoding and I/O:: How file I/O functions handle coding systems.
1086* Lisp and Coding Systems:: Functions to operate on coding system names.
1087* User-Chosen Coding Systems:: Asking the user to choose a coding system.
1088* Default Coding Systems:: Controlling the default choices.
1089* Specifying Coding Systems:: Requesting a particular coding system
1090 for a single file operation.
1091* Explicit Encoding:: Encoding or decoding text without doing I/O.
1092* Terminal I/O Encoding:: Use of encoding for terminal I/O.
1093* MS-DOS File Types:: How DOS "text" and "binary" files
1094 relate to coding systems.
1095
930Searching and Matching 1096Searching and Matching
931 1097
932* String Search:: Search for an exact match. 1098* String Search:: Search for an exact match.
@@ -945,6 +1111,20 @@ Regular Expressions
945* Regexp Example:: Illustrates regular expression syntax. 1111* Regexp Example:: Illustrates regular expression syntax.
946* Regexp Functions:: Functions for operating on regular expressions. 1112* Regexp Functions:: Functions for operating on regular expressions.
947 1113
1114Syntax of Regular Expressions
1115
1116* Regexp Special:: Special characters in regular expressions.
1117* Char Classes:: Character classes used in regular expressions.
1118* Regexp Backslash:: Backslash-sequences in regular expressions.
1119
1120The Match Data
1121
1122* Replacing Match:: Replacing a substring that was matched.
1123* Simple Match Data:: Accessing single items of match data,
1124 such as where a particular subexpression started.
1125* Entire Match Data:: Accessing the entire match data at once, as a list.
1126* Saving Match Data:: Saving and restoring the match data.
1127
948Syntax Tables 1128Syntax Tables
949 1129
950* Syntax Basics:: Basic concepts of syntax tables. 1130* Syntax Basics:: Basic concepts of syntax tables.
@@ -963,6 +1143,14 @@ Syntax Descriptors
963* Syntax Class Table:: Table of syntax classes. 1143* Syntax Class Table:: Table of syntax classes.
964* Syntax Flags:: Additional flags each character can have. 1144* Syntax Flags:: Additional flags each character can have.
965 1145
1146Parsing Expressions
1147
1148* Motion via Parsing:: Motion functions that work by parsing.
1149* Position Parse:: Determining the syntactic state of a position.
1150* Parser State:: How Emacs represents a syntactic state.
1151* Low-Level Parsing:: Parsing across a specified region.
1152* Control Parsing:: Parameters that affect parsing.
1153
966Abbrevs And Abbrev Expansion 1154Abbrevs And Abbrev Expansion
967 1155
968* Abbrev Mode:: Setting up Emacs for abbreviation. 1156* Abbrev Mode:: Setting up Emacs for abbreviation.
@@ -1002,6 +1190,20 @@ Receiving Output from Processes
1002* Decoding Output:: Filters can get unibyte or multibyte strings. 1190* Decoding Output:: Filters can get unibyte or multibyte strings.
1003* Accepting Output:: How to wait until process output arrives. 1191* Accepting Output:: How to wait until process output arrives.
1004 1192
1193Low-Level Network Access
1194
1195* Proc: Network Processes. Using @code{make-network-process}.
1196* Options: Network Options. Further control over network connections.
1197* Features: Network Feature Testing.
1198 Determining which network features work on
1199 the machine you are using.
1200
1201Packing and Unpacking Byte Arrays
1202
1203* Bindat Spec:: Describing data layout.
1204* Bindat Functions:: Doing the unpacking and packing.
1205* Bindat Examples:: Samples of what bindat.el can do for you!
1206
1005Emacs Display 1207Emacs Display
1006 1208
1007* Refresh Screen:: Clearing the screen and redrawing everything on it. 1209* Refresh Screen:: Clearing the screen and redrawing everything on it.
@@ -1029,6 +1231,92 @@ Emacs Display
1029* Beeping:: Audible signal to the user. 1231* Beeping:: Audible signal to the user.
1030* Window Systems:: Which window system is being used. 1232* Window Systems:: Which window system is being used.
1031 1233
1234The Echo Area
1235
1236* Displaying Messages:: Explicitly displaying text in the echo area.
1237* Progress:: Informing user about progress of a long operation.
1238* Logging Messages:: Echo area messages are logged for the user.
1239* Echo Area Customization:: Controlling the echo area.
1240
1241Reporting Warnings
1242
1243* Warning Basics:: Warnings concepts and functions to report them.
1244* Warning Variables:: Variables programs bind to customize their warnings.
1245* Warning Options:: Variables users set to control display of warnings.
1246
1247Overlays
1248
1249* Managing Overlays:: Creating and moving overlays.
1250* Overlay Properties:: How to read and set properties.
1251 What properties do to the screen display.
1252* Finding Overlays:: Searching for overlays.
1253
1254Faces
1255
1256* Defining Faces:: How to define a face with @code{defface}.
1257* Face Attributes:: What is in a face?
1258* Attribute Functions:: Functions to examine and set face attributes.
1259* Displaying Faces:: How Emacs combines the faces specified for
1260 a character.
1261* Font Selection:: Finding the best available font for a face.
1262* Face Functions:: How to define and examine faces.
1263* Auto Faces:: Hook for automatic face assignment.
1264* Font Lookup:: Looking up the names of available fonts
1265 and information about them.
1266* Fontsets:: A fontset is a collection of fonts
1267 that handle a range of character sets.
1268
1269Fringes
1270
1271* Fringe Size/Pos:: Specifying where to put the window fringes.
1272* Fringe Indicators:: Displaying indicator icons in the window fringes.
1273* Fringe Cursors:: Displaying cursors in the right fringe.
1274* Fringe Bitmaps:: Specifying bitmaps for fringe indicators.
1275* Customizing Bitmaps:: Specifying your own bitmaps to use in the fringes.
1276* Overlay Arrow:: Display of an arrow to indicate position.
1277
1278The @code{display} Property
1279
1280* Specified Space:: Displaying one space with a specified width.
1281* Pixel Specification:: Specifying space width or height in pixels.
1282* Other Display Specs:: Displaying an image; magnifying text; moving it
1283 up or down on the page; adjusting the width
1284 of spaces within text.
1285* Display Margins:: Displaying text or images to the side of
1286 the main text.
1287
1288Images
1289
1290* Image Descriptors:: How to specify an image for use in @code{:display}.
1291* XBM Images:: Special features for XBM format.
1292* XPM Images:: Special features for XPM format.
1293* GIF Images:: Special features for GIF format.
1294* Postscript Images:: Special features for Postscript format.
1295* Other Image Types:: Various other formats are supported.
1296* Defining Images:: Convenient ways to define an image for later use.
1297* Showing Images:: Convenient ways to display an image once
1298 it is defined.
1299* Image Cache:: Internal mechanisms of image display.
1300
1301Buttons
1302
1303* Button Properties:: Button properties with special meanings.
1304* Button Types:: Defining common properties for classes of buttons.
1305* Making Buttons:: Adding buttons to Emacs buffers.
1306* Manipulating Buttons:: Getting and setting properties of buttons.
1307* Button Buffer Commands:: Buffer-wide commands and bindings for buttons.
1308
1309Abstract Display
1310
1311* Abstract Display Functions:: Functions in the Ewoc package.
1312* Abstract Display Example:: Example of using Ewoc.
1313
1314Display Tables
1315
1316* Display Table Format:: What a display table consists of.
1317* Active Display Table:: How Emacs selects a display table to use.
1318* Glyphs:: How to define a glyph, and what glyphs mean.
1319
1032Operating System Interface 1320Operating System Interface
1033 1321
1034* Starting Up:: Customizing Emacs start-up processing. 1322* Starting Up:: Customizing Emacs start-up processing.
@@ -1045,7 +1333,7 @@ Operating System Interface
1045* Timers:: Setting a timer to call a function at a certain time. 1333* Timers:: Setting a timer to call a function at a certain time.
1046* Idle Timers:: Setting a timer to call a function when Emacs has 1334* Idle Timers:: Setting a timer to call a function when Emacs has
1047 been idle for a certain length of time. 1335 been idle for a certain length of time.
1048* Terminal Input:: Accessing and recordingo terminal input. 1336* Terminal Input:: Accessing and recording terminal input.
1049* Terminal Output:: Controlling and recording terminal output. 1337* Terminal Output:: Controlling and recording terminal output.
1050* Sound Output:: Playing sounds on the computer's speaker. 1338* Sound Output:: Playing sounds on the computer's speaker.
1051* X11 Keysyms:: Operating on key symbols for X Windows 1339* X11 Keysyms:: Operating on key symbols for X Windows
@@ -1057,28 +1345,33 @@ Starting Up Emacs
1057* Startup Summary:: Sequence of actions Emacs performs at start-up. 1345* Startup Summary:: Sequence of actions Emacs performs at start-up.
1058* Init File:: Details on reading the init file (@file{.emacs}). 1346* Init File:: Details on reading the init file (@file{.emacs}).
1059* Terminal-Specific:: How the terminal-specific Lisp file is read. 1347* Terminal-Specific:: How the terminal-specific Lisp file is read.
1060* Command-Line Arguments:: How command line arguments are processed, 1348* Command-Line Arguments:: How command-line arguments are processed,
1061 and how you can customize them. 1349 and how you can customize them.
1062 1350
1063Getting out of Emacs 1351Getting Out of Emacs
1064 1352
1065* Killing Emacs:: Exiting Emacs irreversibly. 1353* Killing Emacs:: Exiting Emacs irreversibly.
1066* Suspending Emacs:: Exiting Emacs reversibly. 1354* Suspending Emacs:: Exiting Emacs reversibly.
1067 1355
1356Terminal Input
1357
1358* Input Modes:: Options for how input is processed.
1359* Recording Input:: Saving histories of recent or all input events.
1360
1068Tips and Conventions 1361Tips and Conventions
1069 1362
1070* Coding Conventions:: Conventions for clean and robust programs. 1363* Coding Conventions:: Conventions for clean and robust programs.
1071* Key Binding Conventions:: Which keys should be bound by which programs. 1364* Key Binding Conventions:: Which keys should be bound by which programs.
1072* Programming Tips:: Making Emacs code fit smoothly in Emacs. 1365* Programming Tips:: Making Emacs code fit smoothly in Emacs.
1073* Compilation Tips:: Making compiled code run fast. 1366* Compilation Tips:: Making compiled code run fast.
1074* Warning Tips:: Turning off compiler warnings. 1367* Warning Tips:: Turning off compiler warnings.
1075* Documentation Tips:: Writing readable documentation strings. 1368* Documentation Tips:: Writing readable documentation strings.
1076* Comment Tips:: Conventions for writing comments. 1369* Comment Tips:: Conventions for writing comments.
1077* Library Headers:: Standard headers for library packages. 1370* Library Headers:: Standard headers for library packages.
1078 1371
1079GNU Emacs Internals 1372GNU Emacs Internals
1080 1373
1081* Building Emacs:: How to preload Lisp libraries into Emacs. 1374* Building Emacs:: How the dumped Emacs is made.
1082* Pure Storage:: A kludge to make preloaded Lisp functions sharable. 1375* Pure Storage:: A kludge to make preloaded Lisp functions sharable.
1083* Garbage Collection:: Reclaiming space for Lisp objects no longer used. 1376* Garbage Collection:: Reclaiming space for Lisp objects no longer used.
1084* Memory Usage:: Info about total size of Lisp objects made so far. 1377* Memory Usage:: Info about total size of Lisp objects made so far.