| [Top] | [Contents] | [Index] | [ ? ] |
| GNU GENERAL PUBLIC LICENSE | Conditions for copying and changing XEmacs. | |
| 1. Introduction | Introduction and conventions used. | |
| 2. The XEmacs Packaging System | Lisp library administrative infrastructure. | |
| 8. Lisp Data Types | Data types of objects in XEmacs Lisp. | |
| 9. Numbers | Numbers and arithmetic functions. | |
| 10. Strings and Characters | Strings, and functions that work on them. | |
| 11. Lists | Lists, cons cells, and related functions. | |
| 12. Sequences, Arrays, and Vectors | Lists, strings and vectors are called sequences. Certain functions act on any kind of sequence. The description of vectors is here as well. | |
| 13. Symbols | Symbols represent names, uniquely. | |
| 14. Evaluation | How Lisp expressions are evaluated. | |
| 15. Control Structures | Conditionals, loops, nonlocal exits. | |
| 16. Variables | Using symbols in programs to stand for values. | |
| 17. Functions and Commands | A function is a Lisp program that can be invoked from other functions. | |
| 18. Macros | Macros are a way to extend the Lisp language. | |
| 19. Writing Customization Definitions | Writing customization declarations. | |
| 20. Loading | Reading files of Lisp code into Lisp. | |
| 21. Byte Compilation | Compilation makes programs run faster. | |
| 22. Debugging Lisp Programs | Tools and tips for debugging Lisp programs. | |
| 23. Reading and Printing Lisp Objects | Converting Lisp objects to text and back. | |
| 24. Minibuffers | Using the minibuffer to read input. | |
| 25. Command Loop | How the editor command loop works, and how you can call its subroutines. | |
| 26. Keymaps | Defining the bindings from keys to commands. | |
| 27. Menus | Defining pull-down and pop-up menus. | |
| 28. Dialog Boxes | Creating dialog boxes. | |
| 29. Toolbar | Controlling the toolbar. | |
| 30. Gutter | Controlling the gutter. | |
| 31. Scrollbars | Controlling the scrollbars. | |
| 32. Drag and Drop | Generic API to inter-application communication via specific protocols. | |
| 33. Major and Minor Modes | Defining major and minor modes. | |
| 34. Documentation | Writing and using documentation strings. | |
| 35. Files | Accessing files. | |
| 36. Backups and Auto-Saving | Controlling how backups and auto-save files are made. | |
| 37. Buffers | Creating and using buffer objects. | |
| 38. Windows | Manipulating windows and displaying buffers. | |
| 39. Frames | Making multiple X windows. | |
| 40. Consoles and Devices | Opening frames on multiple TTY’s or X displays. | |
| 41. Positions | Buffer positions and motion functions. | |
| 42. Markers | Markers represent positions and update automatically when the text is changed. | |
| 43. Text | Examining and changing text in buffers. | |
| 44. Searching and Matching | Searching buffers for strings or regexps. | |
| 45. Syntax Tables | The syntax table controls word and list parsing. | |
| 46. Abbrevs And Abbrev Expansion | How Abbrev mode works, and its data structures. | |
| 47. Extents | Extents are regions of text with particular display characteristics. | |
| 48. Specifiers | How faces and glyphs are specified. | |
| 49. Faces and Window-System Objects | A face is a set of display characteristics specifying how text is to be displayed. | |
| 50. Glyphs | General interface to pixmaps displayed in a buffer or frame. | |
| 51. Annotations | Higher-level interface to glyphs in a buffer. | |
| 52. Emacs Display | Parameters controlling screen usage. The bell. Waiting for input. | |
| 53. Hash Tables | Fast data structures for mappings. | |
| 54. Range Tables | Keeping track of ranges of numbers. | |
| 55. Databases | An interface to standard DBM and DB databases. | |
| 56. Processes | Running and communicating with subprocesses. | |
| 57. Operating System Interface | Getting the user id, system type, environment variables, and other such things. | |
| 58. Functions Specific to the X Window System | Functions specific to the X Window System. | |
| 59. ToolTalk Support | Interfacing with the ToolTalk message service. | |
| 60. LDAP Support | Interfacing with the Lightweight Directory Access Protocol. | |
| 61. PostgreSQL Support | Interfacing to the PostgreSQL libpq library. | |
| 62. Internationalization | How Emacs supports different languages and cultural conventions. | |
| 63. MULE | Specifics of the Asian-language support. | |
Appendices | ||
|---|---|---|
| A. Tips and Standards | Advice for writing Lisp programs. | |
| B. Building XEmacs; Allocation of Objects | Behind-the-scenes information about XEmacs. | |
| C. Standard Errors | List of all error symbols. | |
| D. Buffer-Local Variables | List of variables local in all buffers. | |
| E. Standard Keymaps | List of standard keymaps. | |
| F. Standard Hooks | List of standard hook variables. | |
| Index | Index including concepts, functions, variables, and other terms. | |
— The Detailed Node Listing — Here are other nodes that are inferiors of those already listed, mentioned here so you can get to them in one step: Introduction * Caveats:: Flaws and a request for help. * Lisp History:: XEmacs Lisp is descended from Maclisp. * Conventions:: How the manual is formatted. * Acknowledgements:: The authors, editors, and sponsors of this manual. Conventions * Some Terms:: Explanation of terms we use in this manual. * nil and t:: How the symbolsnilandtare used. * Evaluation Notation:: The format we use for examples of evaluation. * Printing Notation:: The format we use for examples that print output. * Error Messages:: The format we use for examples of errors. * Buffer Text Notation:: The format we use for buffer contents in examples. * Format of Descriptions:: Notation for describing functions, variables, etc. Format of Descriptions * A Sample Function Description:: * A Sample Variable Description:: Packaging * Package Overview:: Lisp Libraries and Packages. * Package Terminology:: Basic stuff. * Building Packages:: Turn packaged source into a tarball. * Local.rules File:: Tell the XEmacs Packaging System about your host. * Creating Packages:: Tell the XEmacs Packaging System about your package. * Issues:: Package Overview * The User View:: * The Library Maintainer View:: * The Package Release Engineer View:: The Library Maintainer’s View * Infrastructure:: Global Makefiles and common rules. * Control Files:: Package-specific Makefiles and administrative files. * Obtaining:: Obtaining the XEmacs Packaging System and utilities. Creating Packages * package-info.in:: package-info.in * Makefile:: ‘Makefile’ * Makefile Targets:: Lisp Data Types * Printed Representation:: How Lisp objects are represented as text. * Comments:: Comments and their formatting conventions. * Programming Types:: Types found in all Lisp systems. * Editing Types:: Types specific to XEmacs. * Type Predicates:: Tests related to types. * Equality Predicates:: Tests of equality between any two objects. Programming Types * Integer Type:: Numbers without fractional parts. * Floating Point Type:: Numbers with fractional parts and with a large range. * Character Type:: The representation of letters, numbers and control characters. * Sequence Type:: Both lists and arrays are classified as sequences. * Cons Cell Type:: Cons cells, and lists (which are made from cons cells). * Array Type:: Arrays include strings and vectors. * String Type:: An (efficient) array of characters. * Vector Type:: One-dimensional arrays. * Symbol Type:: A multi-use object that refers to a function, variable, property list, or itself. * Function Type:: A piece of executable code you can call from elsewhere. * Macro Type:: A method of expanding an expression into another expression, more fundamental but less pretty. * Primitive Function Type:: A function written in C, callable from Lisp. * Compiled-Function Type:: A function written in Lisp, then compiled. * Autoload Type:: A type used for automatically loading seldom-used functions. Cons Cell Type * Dotted Pair Notation:: An alternative syntax for lists. * Association List Type:: A specially constructed list. Editing Types * Buffer Type:: The basic object of editing. * Window Type:: What makes buffers visible. * Window Configuration Type:: Save what the screen looks like. * Marker Type:: A position in a buffer. * Process Type:: A process running on the underlying OS. * Stream Type:: Receive or send characters. * Keymap Type:: What function a keystroke invokes. * Syntax Table Type:: What a character means. Numbers * Integer Basics:: Representation and range of integers. * Ratio Basics:: Representation and range of rational numbers. * Float Basics:: Representation and range of floating point. * The Bignum Extension:: Arbitrary precision integers, ratios, and floats. * Predicates on Numbers:: Testing for numbers. * Comparison of Numbers:: Equality and inequality predicates. * Arithmetic Operations:: How to add, subtract, multiply and divide. * Bitwise Operations:: Logical and, or, not, shifting. * Numeric Conversions:: Converting float to integer and vice versa. * Math Functions:: Trig, exponential and logarithmic functions. * Random Numbers:: Obtaining random integers, predictable or not. Strings and Characters * String Basics:: Basic properties of strings and characters. * Predicates for Strings:: Testing whether an object is a string or char. * Creating Strings:: Functions to allocate new strings. * Predicates for Characters:: Testing whether an object is a character. * Character Codes:: Each character has an equivalent integer. * Text Comparison:: Comparing characters or strings. * String Conversion:: Converting characters or strings and vice versa. * Modifying Strings:: Changing characters in a string. * String Properties:: Additional information attached to strings. * Formatting Strings::format: XEmacs’s analog ofprintf. * Character Case:: Case conversion functions. * Char Tables:: Mapping from characters to Lisp objects. * Case Tables:: Customizing case conversion. Lists * Cons Cells:: How lists are made out of cons cells. * Lists as Boxes:: Graphical notation to explain lists. * List-related Predicates:: Is this object a list? Comparing two lists. * List Elements:: Extracting the pieces of a list. * Building Lists:: Creating list structure. * Modifying Lists:: Storing new pieces into an existing list. * Sets And Lists:: A list can represent a finite mathematical set. * Association Lists:: A list can represent a finite relation or mapping. * Property Lists:: A different way to represent a finite mapping. * Weak Lists:: A list with special garbage-collection behavior. Modifying Existing List Structure * Setcar:: Replacing an element in a list. * Setcdr:: Replacing part of the list backbone. This can be used to remove or add elements. * Rearrangement:: Reordering the elements in a list; combining lists. Sequences, Arrays, and Vectors * Sequence Functions:: Functions that accept any kind of sequence. * Arrays:: Characteristics of arrays in XEmacs Lisp. * Array Functions:: Functions specifically for arrays. * Vectors:: Functions specifically for vectors. Symbols * Symbol Components:: Symbols have names, values, function definitions and property lists. * Definitions:: A definition says how a symbol will be used. * Creating Symbols:: How symbols are kept unique. * Symbol Properties:: Each symbol has a property list for recording miscellaneous information. Evaluation * Intro Eval:: Evaluation in the scheme of things. * Eval:: How to invoke the Lisp interpreter explicitly. * Forms:: How various sorts of objects are evaluated. * Quoting:: Avoiding evaluation (to put constants in the program). Kinds of Forms * Self-Evaluating Forms:: Forms that evaluate to themselves. * Symbol Forms:: Symbols evaluate as variables. * Classifying Lists:: How to distinguish various sorts of list forms. * Function Forms:: Forms that call functions. * Macro Forms:: Forms that call macros. * Special Operators:: “Special operators” are idiosyncratic primitives, most of them extremely important. * Autoloading:: Functions set up to load files containing their real definitions. Control Structures * Sequencing:: Evaluation in textual order. * Conditionals::if,cond. * Combining Conditions::and,or,not. * Iteration::whileloops. * Nonlocal Exits:: Jumping out of a sequence. Nonlocal Exits * Catch and Throw:: Nonlocal exits for the program’s own purposes. * Examples of Catch:: Showing how such nonlocal exits can be written. * Errors:: How errors are signaled and handled. * Cleanups:: Arranging to run a cleanup form if an error happens. Errors * Signaling Errors:: How to report an error. * Processing of Errors:: What XEmacs does when you report an error. * Handling Errors:: How you can trap errors and continue execution. * Error Symbols:: How errors are classified for trapping them. Variables * Global Variables:: Variable values that exist permanently, everywhere. * Constant Variables:: Certain "variables" have values that never change. * Local Variables:: Variable values that exist only temporarily. * Void Variables:: Symbols that lack values. * Defining Variables:: A definition says a symbol is used as a variable. * Accessing Variables:: Examining values of variables whose names are known only at run time. * Setting Variables:: Storing new values in variables. * Variable Scoping:: How Lisp chooses among local and global values. * Buffer-Local Variables:: Variable values in effect only in one buffer. Scoping Rules for Variable Bindings * Scope:: Scope means where in the program a value is visible. Comparison with other languages. * Extent:: Extent means how long in time a value exists. * Impl of Scope:: Two ways to implement dynamic scoping. * Using Scoping:: How to use dynamic scoping carefully and avoid problems. Buffer-Local Variables * Intro to Buffer-Local:: Introduction and concepts. * Creating Buffer-Local:: Creating and destroying buffer-local bindings. * Default Value:: The default value is seen in buffers that don’t have their own local values. Functions * What Is a Function:: Lisp functions vs primitives; terminology. * Lambda Expressions:: How functions are expressed as Lisp objects. * Function Names:: A symbol can serve as the name of a function. * Defining Functions:: Lisp expressions for defining functions. * Calling Functions:: How to use an existing function. * Mapping Functions:: Applying a function to each element of a list, etc. * Anonymous Functions:: Lambda-expressions are functions with no names. * Function Cells:: Accessing or setting the function definition of a symbol. * Related Topics:: Cross-references to specific Lisp primitives that have a special bearing on how functions work. Lambda Expressions * Lambda Components:: The parts of a lambda expression. * Simple Lambda:: A simple example. * Argument List:: Details and special features of argument lists. * Function Documentation:: How to put documentation in a function. Macros * Simple Macro:: A basic example. * Expansion:: How, when and why macros are expanded. * Compiling Macros:: How macros are expanded by the compiler. * Defining Macros:: How to write a macro definition. * Backquote:: Easier construction of list structure. * Problems with Macros:: Don’t evaluate the macro arguments too many times. Don’t hide the user’s variables. Loading * How Programs Do Loading:: Theloadfunction and others. * Autoload:: Setting up a function to autoload. * Named Features:: Loading a library if it isn’t already loaded. * Repeated Loading:: Precautions about loading a file twice. Byte Compilation * Speed of Byte-Code:: An example of speedup from byte compilation. * Compilation Functions:: Byte compilation functions. * Docs and Compilation:: Dynamic loading of documentation strings. * Eval During Compile:: Code to be evaluated when you compile. * Compiled-Function Objects:: The data type used for byte-compiled functions. * Disassembly:: Disassembling byte-code; how to read byte-code. * Different Behavior:: When compiled code gives different results. Debugging Lisp Programs * Debugger:: How the XEmacs Lisp debugger is implemented. * Syntax Errors:: How to find syntax errors. * Compilation Errors:: How to find errors that show up in byte compilation. * Edebug:: A source-level XEmacs Lisp debugger. The Lisp Debugger * Error Debugging:: Entering the debugger when an error happens. * Function Debugging:: Entering it when a certain function is called. * Explicit Debug:: Entering it at a certain point in the program. * Using Debugger:: What the debugger does; what you see while in it. * Debugger Commands:: Commands used while in the debugger. * Invoking the Debugger:: How to call the functiondebug. * Internals of Debugger:: Subroutines of the debugger, and global variables. Debugging Invalid Lisp Syntax * Excess Open:: How to find a spurious open paren or missing close. * Excess Close:: How to find a spurious close paren or missing open. Reading and Printing Lisp Objects * Streams Intro:: Overview of streams, reading and printing. * Input Streams:: Various data types that can be used as input streams. * Input Functions:: Functions to read Lisp objects from text. * Output Streams:: Various data types that can be used as output streams. * Output Functions:: Functions to print Lisp objects as text. Minibuffers * Intro to Minibuffers:: Basic information about minibuffers. * Text from Minibuffer:: How to read a straight text string. * Object from Minibuffer:: How to read a Lisp object or expression. * Completion:: How to invoke and customize completion. * Yes-or-No Queries:: Asking a question with a simple answer. * Minibuffer Misc:: Various customization hooks and variables. Completion * Basic Completion:: Low-level functions for completing strings. (These are too low level to use the minibuffer.) * Minibuffer Completion:: Invoking the minibuffer with completion. * Completion Commands:: Minibuffer commands that do completion. * High-Level Completion:: Convenient special cases of completion (reading buffer name, file name, etc.) * Reading File Names:: Using completion to read file names. * Programmed Completion:: Finding the completions for a given file name. Command Loop * Command Overview:: How the command loop reads commands. * Defining Commands:: Specifying how a function should read arguments. * Interactive Call:: Calling a command, so that it will read arguments. * Command Loop Info:: Variables set by the command loop for you to examine. * Events:: What input looks like when you read it. * Reading Input:: How to read input events from the keyboard or mouse. * Waiting:: Waiting for user input or elapsed time. * Quitting:: How C-g works. How to catch or defer quitting. * Prefix Command Arguments:: How the commands to set prefix args work. * Recursive Editing:: Entering a recursive edit, and why you usually shouldn’t. * Disabling Commands:: How the command loop handles disabled commands. * Command History:: How the command history is set up, and how accessed. * Keyboard Macros:: How keyboard macros are implemented. Defining Commands * Using Interactive:: General rules forinteractive. * Interactive Codes:: The standard letter-codes for reading arguments in various ways. * Interactive Examples:: Examples of how to read interactive arguments. Events * Event Types:: Events come in different types. * Event Contents:: What the contents of each event type are. * Event Predicates:: Querying whether an event is of a particular type. * Accessing Mouse Event Positions:: Determining where a mouse event occurred, and over what. * Accessing Other Event Info:: Accessing non-positional event info. * Working With Events:: Creating, copying, and destroying events. * Converting Events:: Converting between events, keys, and characters. Accessing Mouse Event Positions * Frame-Level Event Position Info:: * Window-Level Event Position Info:: * Event Text Position Info:: * Event Glyph Position Info:: * Event Toolbar Position Info:: * Other Event Position Info:: Reading Input * Key Sequence Input:: How to read one key sequence. * Reading One Event:: How to read just one event. * Dispatching an Event:: What to do with an event once it has been read. * Quoted Character Input:: Asking the user to specify a character. * Peeking and Discarding:: How to reread or throw away input events. Keymaps * Keymap Terminology:: Definitions of terms pertaining to keymaps. * Format of Keymaps:: What a keymap looks like as a Lisp object. * Creating Keymaps:: Functions to create and copy keymaps. * Inheritance and Keymaps:: How one keymap can inherit the bindings of another keymap. * Key Sequences:: How to specify key sequences. * Prefix Keys:: Defining a key with a keymap as its definition. * Active Keymaps:: Each buffer has a local keymap to override the standard (global) bindings. Each minor mode can also override them. * Key Lookup:: How extracting elements from keymaps works. * Functions for Key Lookup:: How to request key lookup. * Changing Key Bindings:: Redefining a key in a keymap. * Key Binding Commands:: Interactive interfaces for redefining keys. * Scanning Keymaps:: Looking through all keymaps, for printing help. * Other Keymap Functions:: Miscellaneous keymap functions. Menus * Menu Format:: Format of a menu description. * Menubar Format:: How to specify a menubar. * Menubar:: Functions for controlling the menubar. * Modifying Menus:: Modifying a menu description. * Menu Filters:: Filter functions for the default menubar. * Pop-Up Menus:: Functions for specifying pop-up menus. * Buffers Menu:: The menu that displays the list of buffers. Dialog Boxes * Dialog Box Format:: * Dialog Box Functions:: Toolbar * Toolbar Intro:: An introduction. * Toolbar Descriptor Format:: How to create a toolbar. * Specifying the Toolbar:: Setting a toolbar. * Other Toolbar Variables:: Controlling the size of toolbars. Gutter Scrollbars Major and Minor Modes * Major Modes:: Defining major modes. * Minor Modes:: Defining minor modes. * Modeline Format:: Customizing the text that appears in the modeline. * Hooks:: How to use hooks; how to write code that provides hooks. Major Modes * Major Mode Conventions:: Coding conventions for keymaps, etc. * Example Major Modes:: Text mode and Lisp modes. * Auto Major Mode:: How XEmacs chooses the major mode automatically. * Mode Help:: Finding out how to use a mode. Minor Modes * Minor Mode Conventions:: Tips for writing a minor mode. * Keymaps and Minor Modes:: How a minor mode can have its own keymap. Modeline Format * Modeline Data:: The data structure that controls the modeline. * Modeline Variables:: Variables used in that data structure. * %-Constructs:: Putting information into a modeline. Documentation * Documentation Basics:: Good style for doc strings. Where to put them. How XEmacs stores them. * Accessing Documentation:: How Lisp programs can access doc strings. * Keys in Documentation:: Substituting current key bindings. * Describing Characters:: Making printable descriptions of non-printing characters and key sequences. * Help Functions:: Subroutines used by XEmacs help facilities. Files * Visiting Files:: Reading files into Emacs buffers for editing. * Saving Buffers:: Writing changed buffers back into files. * Reading from Files:: Reading files into other buffers. * Writing to Files:: Writing new files from parts of buffers. * File Locks:: Locking and unlocking files, to prevent simultaneous editing by two people. * Information about Files:: Testing existence, accessibility, size of files. * Contents of Directories:: Getting a list of the files in a directory. * Changing File Attributes:: Renaming files, changing protection, etc. * File Names:: Decomposing and expanding file names. Visiting Files * Visiting Functions:: The usual interface functions for visiting. * Subroutines of Visiting:: Lower-level subroutines that they use. Information about Files * Testing Accessibility:: Is a given file readable? Writable? * Kinds of Files:: Is it a directory? A link? * File Attributes:: How large is it? Any other names? Etc. File Names * File Name Components:: The directory part of a file name, and the rest. * Directory Names:: A directory’s name as a directory is different from its name as a file. * Relative File Names:: Some file names are relative to a current directory. * File Name Expansion:: Converting relative file names to absolute ones. * Unique File Names:: Generating names for temporary files. * File Name Completion:: Finding the completions for a given file name. Backups and Auto-Saving * Backup Files:: How backup files are made; how their names are chosen. * Auto-Saving:: How auto-save files are made; how their names are chosen. * Reverting::revert-buffer, and how to customize what it does. Backup Files * Making Backups:: How XEmacs makes backup files, and when. * Rename or Copy:: Two alternatives: renaming the old file or copying it. * Numbered Backups:: Keeping multiple backups for each source file. * Backup Names:: How backup file names are computed; customization. Buffers * Buffer Basics:: What is a buffer? * Buffer Names:: Accessing and changing buffer names. * Buffer File Name:: The buffer file name indicates which file is visited. * Buffer Modification:: A buffer is modified if it needs to be saved. * Modification Time:: Determining whether the visited file was changed “behind XEmacs’s back”. * Read Only Buffers:: Modifying text is not allowed in a read-only buffer. * The Buffer List:: How to look at all the existing buffers. * Creating Buffers:: Functions that create buffers. * Killing Buffers:: Buffers exist until explicitly killed. * Current Buffer:: Designating a buffer as current so primitives will access its contents. Windows * Basic Windows:: Basic information on using windows. * Splitting Windows:: Splitting one window into two windows. * Deleting Windows:: Deleting a window gives its space to other windows. * Selecting Windows:: The selected window is the one that you edit in. * Cyclic Window Ordering:: Moving around the existing windows. * Buffers and Windows:: Each window displays the contents of a buffer. * Displaying Buffers:: Higher-lever functions for displaying a buffer and choosing a window for it. * Window Point:: Each window has its own location of point. * Window Start:: The display-start position controls which text is on-screen in the window. * Vertical Scrolling:: Moving text up and down in the window. * Horizontal Scrolling:: Moving text sideways on the window. * Size of Window:: Accessing the size of a window. * Resizing Windows:: Changing the size of a window. * Window Configurations:: Saving and restoring the state of the screen. Frames * Creating Frames:: Creating additional frames. * Frame Properties:: Controlling frame size, position, font, etc. * Frame Titles:: Automatic updating of frame titles. * Deleting Frames:: Frames last until explicitly deleted. * Finding All Frames:: How to examine all existing frames. * Frames and Windows:: A frame contains windows; display of text always works through windows. * Minibuffers and Frames:: How a frame finds the minibuffer to use. * Input Focus:: Specifying the selected frame. * Visibility of Frames:: Frames may be visible or invisible, or icons. * Raising and Lowering:: Raising a frame makes it hide other X windows; lowering it makes the others hide them. * Frame Hooks:: Hooks for customizing frame behavior. Positions * Point:: The special position where editing takes place. * Motion:: Changing point. * Excursions:: Temporary motion and buffer changes. * Narrowing:: Restricting editing to a portion of the buffer. Motion * Character Motion:: Moving in terms of characters. * Word Motion:: Moving in terms of words. * Buffer End Motion:: Moving to the beginning or end of the buffer. * Text Lines:: Moving in terms of lines of text. * Screen Lines:: Moving in terms of lines as displayed. * List Motion:: Moving by parsing lists and sexps. * Skipping Characters:: Skipping characters belonging to a certain set. Markers * Overview of Markers:: The components of a marker, and how it relocates. * Predicates on Markers:: Testing whether an object is a marker. * Creating Markers:: Making empty markers or markers at certain places. * Information from Markers:: Finding the marker’s buffer or character position. * Changing Markers:: Moving the marker to a new buffer or position. * The Mark:: How “the mark” is implemented with a marker. * The Region:: How to access “the region”. Text * Near Point:: Examining text in the vicinity of point. * Buffer Contents:: Examining text in a general fashion. * Comparing Text:: Comparing substrings of buffers. * Insertion:: Adding new text to a buffer. * Commands for Insertion:: User-level commands to insert text. * Deletion:: Removing text from a buffer. * User-Level Deletion:: User-level commands to delete text. * The Kill Ring:: Where removed text sometimes is saved for later use. * Undo:: Undoing changes to the text of a buffer. * Maintaining Undo:: How to enable and disable undo information. How to control how much information is kept. * Filling:: Functions for explicit filling. * Margins:: How to specify margins for filling commands. * Auto Filling:: How auto-fill mode is implemented to break lines. * Sorting:: Functions for sorting parts of the buffer. * Columns:: Computing horizontal positions, and using them. * Indentation:: Functions to insert or adjust indentation. * Case Changes:: Case conversion of parts of the buffer. * Text Properties:: Assigning Lisp property lists to text characters. * Substitution:: Replacing a given character wherever it appears. * Registers:: How registers are implemented. Accessing the text or position stored in a register. * Transposition:: Swapping two portions of a buffer. * Change Hooks:: Supplying functions to be run when text is changed. The Kill Ring * Kill Ring Concepts:: What text looks like in the kill ring. * Kill Functions:: Functions that kill text. * Yank Commands:: Commands that access the kill ring. * Low-Level Kill Ring:: Functions and variables for kill ring access. * Internals of Kill Ring:: Variables that hold kill-ring data. Indentation * Primitive Indent:: Functions used to count and insert indentation. * Mode-Specific Indent:: Customize indentation for different modes. * Region Indent:: Indent all the lines in a region. * Relative Indent:: Indent the current line based on previous lines. * Indent Tabs:: Adjustable, typewriter-like tab stops. * Motion by Indent:: Move to first non-blank character. Searching and Matching * String Search:: Search for an exact match. * Regular Expressions:: Describing classes of strings. * Regexp Search:: Searching for a match for a regexp. * Match Data:: Finding out which part of the text matched various parts of a regexp, after regexp search. * Saving Match Data:: Saving and restoring this information. * Standard Regexps:: Useful regexps for finding sentences, pages,... * Searching and Case:: Case-independent or case-significant searching. Regular Expressions * Syntax of Regexps:: Rules for writing regular expressions. * Regexp Example:: Illustrates regular expression syntax. Syntax Tables * Syntax Descriptors:: How characters are classified. * Syntax Table Functions:: How to create, examine and alter syntax tables. * Parsing Expressions:: Parsing balanced expressions using the syntax table. * Standard Syntax Tables:: Syntax tables used by various major modes. * Syntax Table Internals:: How syntax table information is stored. Syntax Descriptors * Syntax Class Table:: Table of syntax classes. * Syntax Flags:: Additional flags each character can have. Abbrevs And Abbrev Expansion * Abbrev Mode:: Setting up XEmacs for abbreviation. * Tables: Abbrev Tables. Creating and working with abbrev tables. * Defining Abbrevs:: Specifying abbreviations and their expansions. * Files: Abbrev Files. Saving abbrevs in files. * Expansion: Abbrev Expansion. Controlling expansion; expansion subroutines. * Standard Abbrev Tables:: Abbrev tables used by various major modes. Extents * Intro to Extents:: Extents are regions over a buffer or string. * Creating and Modifying Extents:: Basic extent functions. * Extent Endpoints:: Accessing and setting the bounds of an extent. * Finding Extents:: Determining which extents are in an object. * Mapping Over Extents:: More sophisticated functions for extent scanning. * Extent Properties:: Extents have built-in and user-definable properties. * Detached Extents:: Extents that are not in a buffer. * Extent Parents:: Inheriting properties from another extent. * Duplicable Extents:: Extents can be marked to be copied into strings. * Extents and Events:: Extents can interact with the keyboard and mouse. * Atomic Extents:: Treating a block of text as a single entity. Specifiers * Introduction to Specifiers:: Specifiers provide a clean way for display and other properties to vary (under user control) in a wide variety of contexts. * Specifiers In-Depth:: Gory details about specifier innards. * Specifier Instantiation:: Instantiation means obtaining the “value” of a specifier in a particular context. * Specifier Types:: Specifiers come in different flavors. * Adding Specifications:: Specifications control a specifier’s “value” by giving conditions under which a particular value is valid. * Retrieving Specifications:: Querying a specifier’s specifications. * Specifier Instantiation Functions:: Functions to instantiate a specifier. * Specifier Examples:: Making all this stuff clearer. * Creating Specifiers:: Creating specifiers for your own use. * Specifier Validation Functions:: Validating the components of a specifier. * Other Specification Functions:: Other ways of working with specifications. Faces and Window-System Objects * Faces:: Controlling the way text looks. * Fonts:: Controlling the typeface of text. * Colors:: Controlling the color of text and pixmaps. Faces * Merging Faces:: How XEmacs decides which face to use for a character. * Basic Face Functions:: How to define and examine faces. * Face Properties:: How to access and modify a face’s properties. * Face Convenience Functions:: Convenience functions for accessing particular properties of a face. * Other Face Display Functions:: Other functions pertaining to how a a face appears. Fonts * Font Specifiers:: Specifying how a font will appear. * Font Instances:: What a font specifier gets instantiated as. * Font Instance Names:: The name of a font instance. * Font Instance Size:: The size of a font instance. * Font Instance Characteristics:: Display characteristics of font instances. * Font Convenience Functions:: Convenience functions that automatically instantiate and retrieve the properties of a font specifier. Colors * Color Specifiers:: Specifying how a color will appear. * Color Instances:: What a color specifier gets instantiated as. * Color Instance Properties:: Properties of color instances. * Color Convenience Functions:: Convenience functions that automatically instantiate and retrieve the properties of a color specifier. Glyphs * Glyph Intro:: Glyphs are abstract image specifications. * Images:: Specifying the appearance of glyphs. * Using Glyphs:: Creating and displaying glyphs. * Manipulating Glyphs:: Getting and setting glyph properties. * Glyph Examples:: Examples of how to work with glyphs. Images * Image Instantiators:: Specifying an image’s appearance. * Image Instantiator Conversion:: Lazy realization of graphics. * Image Instantiator Formats:: A catalog of image descriptors. * Image Instances:: Classes of graphical objects. Image Instances * Image Instance Types:: Each image instance has a particular type. * Image Instance Functions:: Functions for working with image instances. Using Glyphs * Creating Glyphs:: Creating new glyphs. * Buffer Glyphs:: Annotations are glyphs that appear in a buffer. * Redisplay Glyphs:: Glyphs controlling various redisplay functions. * Frame Glyphs:: Displaying glyphs in GUI components of the frame. * External Glyphs:: Icons and mouse pointers for the window system. * Native GUI Widgets:: Complex active elements treated as a single glyph. Native GUI Widgets * Introduction to Widgets:: Native widgets provide tight integration of GUI features with the platform GUI. * Lisp API to Native Widgets:: Native widgets are glyphs. * Layouts:: Specifying composite widgets from Lisp. * Primitive Widgets:: Catalogue of available native widgets. Manipulating Glyphs * Glyph Properties:: Accessing and modifying a glyph’s properties. * Glyph Convenience Functions:: Accessing particular properties of a glyph. * Glyph Dimensions:: Determining the height, width, etc. of a glyph. * Glyph Types:: Each glyph has a particular type. Annotations * Annotation Basics:: Introduction to annotations. * Annotation Primitives:: Creating and deleting annotations. * Annotation Properties:: Retrieving and changing the characteristics of an annotation. * Margin Primitives:: Controlling the size of the margins. * Locating Annotations:: Looking for annotations in a buffer. * Annotation Hooks:: Hooks called at certain times during an annotation’s lifetime. Hash Tables * Introduction to Hash Tables:: Hash tables are fast data structures for implementing simple tables (i.e. finite mappings from keys to values). * Working With Hash Tables:: Hash table functions. * Weak Hash Tables:: Hash tables with special garbage-collection behavior. Range Tables * Introduction to Range Tables:: Range tables efficiently map ranges of integers to values. * Working With Range Tables:: Range table functions. XEmacs Display * Refresh Screen:: Clearing the screen and redrawing everything on it. * Truncation:: Folding or wrapping long text lines. * The Echo Area:: Where messages are displayed. * Selective Display:: Hiding part of the buffer text. * Overlay Arrow:: Display of an arrow to indicate position. * Temporary Displays:: Displays that go away automatically. * Blinking:: How XEmacs shows the matching open parenthesis. * Usual Display:: The usual conventions for displaying nonprinting chars. * Display Tables:: How to specify other conventions. * Beeping:: Audible signal to the user. Processes * Subprocess Creation:: Functions that start subprocesses. * Synchronous Processes:: Details of using synchronous subprocesses. * Asynchronous Processes:: Starting up an asynchronous subprocess. * Deleting Processes:: Eliminating an asynchronous subprocess. * Process Information:: Accessing run-status and other attributes. * Input to Processes:: Sending input to an asynchronous subprocess. * Signals to Processes:: Stopping, continuing or interrupting an asynchronous subprocess. * Output from Processes:: Collecting output from an asynchronous subprocess. * Sentinels:: Sentinels run when process run-status changes. * Network:: Opening network connections. Receiving Output from Processes * Process Buffers:: If no filter, output is put in a buffer. * Filter Functions:: Filter functions accept output from the process. * Accepting Output:: How to wait until process output arrives. Operating System Interface * Starting Up:: Customizing XEmacs start-up processing. * Getting Out:: How exiting works (permanent or temporary). * System Environment:: Distinguish the name and kind of system. * Terminal Input:: Recording terminal input for debugging. * Terminal Output:: Recording terminal output for debugging. * Flow Control:: How to turn output flow control on or off. * Batch Mode:: Running XEmacs without terminal interaction. Starting Up XEmacs * Start-up Summary:: Sequence of actions XEmacs performs at start-up. * Init File:: Details on reading the init file (‘.emacs’). * Terminal-Specific:: How the terminal-specific Lisp file is read. * Command Line Arguments:: How command line arguments are processed, and how you can customize them. Getting out of XEmacs * Killing XEmacs:: Exiting XEmacs irreversibly. * Suspending XEmacs:: Exiting XEmacs reversibly. X-Windows * X Selections:: Transferring text to and from other X clients. * X Server:: Information about the X server connected to a particular device. * Resources:: Getting resource values from the server. * Server Data:: Getting info about the X server. * Grabs:: Restricting access to the server by other apps. * X Miscellaneous:: Other X-specific functions and variables. ToolTalk Support * XEmacs ToolTalk API Summary:: * Sending Messages:: * Receiving Messages:: LDAP Support * Building XEmacs with LDAP support:: How to add LDAP support to XEmacs * XEmacs LDAP API:: Lisp access to LDAP functions * Syntax of Search Filters:: A brief summary of RFC 1558 XEmacs LDAP API * LDAP Variables:: Lisp variables related to LDAP * The High-Level LDAP API:: High-level LDAP lisp functions * The Low-Level LDAP API:: Low-level LDAP lisp primitives * LDAP Internationalization:: I18n variables and functions The Low-Level LDAP API * The LDAP Lisp Object:: * Opening and Closing a LDAP Connection:: * Low-level Operations on a LDAP Server:: LDAP Internationalization * LDAP Internationalization Variables:: * Encoder/Decoder Functions:: Internationalization * I18N Levels 1 and 2:: Support for different time, date, and currency formats. * I18N Level 3:: Support for localized messages. * I18N Level 4:: Support for Asian languages. MULE * Internationalization Terminology:: Definition of various internationalization terms. * Charsets:: Sets of related characters. * MULE Characters:: Working with characters in XEmacs/MULE. * Composite Characters:: Making new characters by overstriking other ones. * ISO 2022:: An international standard for charsets and encodings. * Coding Systems:: Ways of representing a string of chars using integers. * CCL:: A special language for writing fast converters. * Category Tables:: Subdividing charsets into groups. Tips * Style Tips:: Writing clean and robust programs. * Compilation Tips:: Making compiled code run fast. * Documentation Tips:: Writing readable documentation strings. * Comment Tips:: Conventions for writing comments. * Library Headers:: Standard headers for library packages. Building XEmacs and Object Allocation * Building XEmacs:: How to preload Lisp libraries into XEmacs. * Garbage Collection:: Reclaiming space for Lisp objects no longer used.
| [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on September 25, 2026 using texi2html 1.82.