-\input ../texinfo @c -*-texinfo-*-
+\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename ../../info/lispref.info
@c @smallbook
@c %**end of header
@ifinfo
+@dircategory XEmacs Editor
+@direntry
+* Lispref: (lispref). XEmacs Lisp Reference Manual.
+@end direntry
+
Edition History:
GNU Emacs Lisp Reference Manual Second Edition (v2.01), May 1993
* Copying:: Conditions for copying and changing XEmacs.
* Introduction:: Introduction and conventions used.
+* Packaging:: Lisp library administrative infrastructure.
+
* Lisp Data Types:: Data types of objects in XEmacs Lisp.
* Numbers:: Numbers and arithmetic functions.
* Strings and Characters:: Strings, and functions that work on them.
* 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.
+
+* Functions and Commands:: A function is a Lisp program that can be
+ invoked from other functions.
+
* Macros:: Macros are a way to extend the Lisp language.
+* Customization:: Writing customization declarations.
* Loading:: Reading files of Lisp code into Lisp.
* Byte Compilation:: Compilation makes programs run faster.
* Menus:: Defining pull-down and pop-up menus.
* Dialog Boxes:: Creating dialog boxes.
* Toolbar:: Controlling the toolbar.
+* Gutter:: Controlling the gutter.
* Scrollbars:: Controlling the scrollbars.
* Drag and Drop:: Generic API to inter-application communication
via specific protocols.
* ToolTalk Support:: Interfacing with the ToolTalk message service.
* LDAP Support:: Interfacing with the Lightweight Directory
Access Protocol.
+* PostgreSQL Support:: Interfacing to the PostgreSQL libpq library.
* Internationalization:: How Emacs supports different languages and
cultural conventions.
* MULE:: Specifics of the Asian-language support.
Format of Descriptions
-* A Sample Function Description::
-* A Sample Variable Description::
+* 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:: @file{Makefile}
+* Makefile Targets::
Lisp Data Types
* Buffer Type:: The basic object of editing.
* Window Type:: What makes buffers visible.
-* Window Configuration Type::Save what the screen looks like.
+* 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.
Strings and Characters
-* Basics: String Basics. Basic properties of 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.
* 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
+* Quoting:: Avoiding evaluation (to put constants in
the program).
Kinds of Forms
Scoping Rules for Variable Bindings
-* Scope:: Scope means where in the program a value
+* 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
+* Using Scoping:: How to use dynamic scoping carefully and
avoid problems.
Buffer-Local Variables
* 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.
+* 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
+ that have a special bearing on how
functions work.
Lambda Expressions
Byte Compilation
-* Compilation Functions:: Byte compilation functions.
-* Disassembly:: Disassembling byte-code; how to read byte-code.
+* Speed of Byte-Code:: An example of speedup from byte compilation.
+* Compilation Functions:: Byte compilation functions.
+* Docs and Compilation:: Dynamic loading of documentation strings.
+* Dynamic Loading:: Dynamic loading of individual functions.
+* 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
+* 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.
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:: 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:: Various data types that can be used as
output streams.
* Output Functions:: Functions to print Lisp objects as text.
* 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
+* Hooks:: How to use hooks; how to write code that
provides hooks.
Major Modes
* 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
+* 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.
Backups and Auto-Saving
-* Backup Files:: How backup files are made; how their names
+* 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:: @code{revert-buffer}, and how to customize
+* Reverting:: @code{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
+* 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.
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.
+ 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.
* 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.
+ 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''.
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.
* Retrieving Specifications:: Querying a specifier's specifications.
* Specifier Instancing Functions::
Functions to instance a specifier.
-* Specifier Example:: Making all this stuff clearer.
+* Specifier Examples:: Making all this stuff clearer.
* Creating Specifiers:: Creating specifiers for your own use.
* Specifier Validation Functions::
Validating the components of a specifier.
Glyphs
-* Glyph Functions:: Functions for working with glyphs.
-* Images:: Graphical images displayed in a frame.
-* Glyph Types:: Each glyph has a particular type.
-* Mouse Pointer:: Controlling the mouse pointer.
-* Redisplay Glyphs:: Glyphs controlling various redisplay functions.
-* Subwindows:: Inserting an externally-controlled subwindow
- into a buffer.
+* 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.
-Glyph Functions
+Images
-* Creating Glyphs:: Creating new glyphs.
-* Glyph Properties:: Accessing and modifying a glyph's properties.
-* Glyph Convenience Functions::
- Convenience functions for accessing particular
- properties of a glyph.
-* Glyph Dimensions:: Determining the height, width, etc. of a glyph.
+* Image Specifiers:: 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.
-Images
+Image Instances
+
+* Image Instance Types:: Each image instances has a particular type.
+* Image Instance Functions:: Functions for working with image instances.
+
+Using Glyphs
-* Image Specifiers:: Specifying how an image will appear.
-* Image Instantiator Conversion::
- Conversion is applied to image instantiators
- at the time they are added to an
- image specifier or at the time they
- are passed to @code{make-image-instance}.
-* Image Instances:: What an image specifier gets instanced as.
Image Instances
* Image Instance Types:: Each image instances 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.
+* Subwindows:: Externally-controlled subwindows in buffers.
+
+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.
XEmacs LDAP API
* LDAP Variables:: Lisp variables related to LDAP
-* The High-Level LDAP API:: High-level LDAP lisp functions
+* 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::
-* Searching on a LDAP Server (Low-level)::
+* 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
@end menu
@include intro.texi
+@include packaging.texi
@include objects.texi
@include numbers.texi
@include strings.texi
@include variables.texi
@include functions.texi
@include macros.texi
+@include customize.texi
@include loading.texi
@include compile.texi
@include menus.texi
@include dialog.texi
@include toolbar.texi
+@include gutter.texi
@include scrollbars.texi
@include dragndrop.texi
@include modes.texi
@include x-windows.texi
@include tooltalk.texi
@include ldap.texi
+@include postgresql.texi
@include internationalization.texi
@include mule.texi