Freeware (IRIX) » Info Pages
find in page
elisp : Antinews
table of contents
Introduction
Coding Conventions
Lisp Data Types
Numbers
Strings and Characters
Lists
Sequences Arrays Vectors
Hash Tables
Symbols
Evaluation
Control Structures
Variables
Functions
Macros
Customization
Loading
Byte Compilation
Advising Functions
Debugging
Read and Print
Minibuffers
Command Loop
Keymaps
Modes
Documentation
Files
Backups and Auto-Saving
Buffers
Windows
Frames
Positions
Markers
Text
Non-ASCII Characters
Searching and Matching
Syntax Tables
Abbrevs
Processes
Display
Calendar
System Interface
Antinews
GNU Free Documentation License
GPL
Tips
GNU Emacs Internals
Standard Errors
Standard Buffer-Local Variables
Standard Keymaps
Standard Hooks
Index
New Symbols
Caveats
Lisp History
Conventions
Acknowledgements
Some Terms
nil and t
Evaluation Notation
Printing Notation
Error Messages
Buffer Text Notation
Format of Descriptions
Coding Conventions
Compilation Tips
Documentation Tips
Comment Tips
Library Headers
A Sample Function Description
A Sample Variable Description
Printed Representation
Comments
Programming Types
Editing Types
Type Predicates
Equality Predicates
Integer Type
Floating Point Type
Character Type
Sequence Type
Cons Cell Type
Array Type
String Type
Vector Type
Symbol Type
Function Type
Macro Type
Primitive Function Type
Byte-Code Type
Autoload Type
Dotted Pair Notation
Association List Type
Buffer Type
Window Type
Window Configuration Type
Marker Type
Process Type
Stream Type
Keymap Type
Overlay Type
Integer Basics
Float Basics
Predicates on Numbers
Comparison of Numbers
Arithmetic Operations
Bitwise Operations
Numeric Conversions
Math Functions
Random Numbers
String Basics
Predicates for Strings
Creating Strings
Text Comparison
String Conversion
Formatting Strings
Case Conversion
Cons Cells
Lists as Boxes
List-related Predicates
List Elements
Building Lists
Modifying Lists
Sets And Lists
Association Lists
Setcar
Setcdr
Rearrangement
Sequence Functions
Arrays
Array Functions
Vectors
Symbol Components
Definitions
Creating Symbols
Property Lists
Intro Eval
Eval
Forms
Quoting
Self-Evaluating Forms
Symbol Forms
Classifying Lists
Function Forms
Macro Forms
Special Forms
Autoloading
Sequencing
Conditionals
Combining Conditions
Iteration
Nonlocal Exits
Catch and Throw
Examples of Catch
Errors
Cleanups
Signaling Errors
Processing of Errors
Handling Errors
Error Symbols
Global Variables
Constant Variables
Local Variables
Void Variables
Defining Variables
Accessing Variables
Setting Variables
Variable Scoping
Buffer-Local Variables
Scope
Extent
Impl of Scope
Using Scoping
Intro to Buffer-Local
Creating Buffer-Local
Default Value
What Is a Function
Lambda Expressions
Function Names
Defining Functions
Calling Functions
Mapping Functions
Anonymous Functions
Function Cells
Related Topics
Lambda Components
Simple Lambda
Argument List
Function Documentation
Simple Macro
Expansion
Compiling Macros
Defining Macros
Backquote
Problems with Macros
How Programs Do Loading
Autoload
Named Features
Repeated Loading
Compilation Functions
Disassembly
Simple Advice
Defining Advice
Computed Advice
Activation of Advice
Enabling Advice
Preactivation
Argument Access in Advice
Subr Arguments
Combined Definition
Debugger
Syntax Errors
Compilation Errors
Edebug
Error Debugging
Function Debugging
Explicit Debug
Using Debugger
Debugger Commands
Invoking the Debugger
Internals of Debugger
Excess Open
Excess Close
Streams Intro
Input Streams
Input Functions
Output Streams
Output Functions
Intro to Minibuffers
Text from Minibuffer
Object from Minibuffer
Completion
Yes-or-No Queries
Minibuffer Misc
Basic Completion
Minibuffer Completion
Completion Commands
High-Level Completion
Reading File Names
Programmed Completion
Command Overview
Defining Commands
Interactive Call
Command Loop Info
Input Events
Reading Input
Waiting
Quitting
Prefix Command Arguments
Recursive Editing
Disabling Commands
Command History
Keyboard Macros
Using Interactive
Interactive Codes
Interactive Examples
Keymap Terminology
Format of Keymaps
Creating Keymaps
Inheritance and Keymaps
Prefix Keys
Menu Keymaps
Active Keymaps
Key Lookup
Functions for Key Lookup
Changing Key Bindings
Key Binding Commands
Scanning Keymaps
Major Modes
Minor Modes
Mode Line Format
Hooks
Major Mode Conventions
Example Major Modes
Auto Major Mode
Mode Help
Minor Mode Conventions
Keymaps and Minor Modes
Mode Line Data
Mode Line Variables
%-Constructs
Documentation Basics
Accessing Documentation
Keys in Documentation
Describing Characters
Help Functions
Visiting Files
Saving Buffers
Reading from Files
Writing to Files
File Locks
Information about Files
Contents of Directories
Changing Files
File Names
Visiting Functions
Subroutines of Visiting
Testing Accessibility
Kinds of Files
File Attributes
File Name Components
Directory Names
Relative File Names
File Name Expansion
Unique File Names
File Name Completion
Backup Files
Auto-Saving
Reverting
Making Backups
Rename or Copy
Numbered Backups
Backup Names
Buffer Basics
Buffer Names
Buffer File Name
Buffer Modification
Modification Time
Read Only Buffers
The Buffer List
Creating Buffers
Killing Buffers
Current Buffer
Basic Windows
Splitting Windows
Deleting Windows
Selecting Windows
Cyclic Window Ordering
Buffers and Windows
Displaying Buffers
Window Point
Window Start
Vertical Scrolling
Horizontal Scrolling
Size of Window
Resizing Windows
Window Configurations
Creating Frames
Multiple Displays
Frame Parameters
Frame Titles
Deleting Frames
Finding All Frames
Frames and Windows
Minibuffers and Frames
Input Focus
Visibility of Frames
Raising and Lowering
Frame Configurations
Mouse Tracking
Mouse Position
Pop-Up Menus
Dialog Boxes
Pointer Shapes
Window System Selections
Color Names
Resources
Display Feature Testing
Point
Motion
Excursions
Narrowing
Character Motion
Word Motion
Buffer End Motion
Text Lines
Screen Lines
List Motion
Skipping Characters
Overview of Markers
Predicates on Markers
Creating Markers
Information from Markers
Moving Markers
The Mark
The Region
Near Point
Buffer Contents
Insertion
Commands for Insertion
Deletion
User-Level Deletion
The Kill Ring
Undo
Auto Filling
Filling
Margins
Sorting
Indentation
Columns
Case Changes
Text Properties
Substitution
Transposition
Registers
Change Hooks
Kill Ring Concepts
Kill Functions
Yank Commands
Low-Level Kill Ring
Internals of Kill Ring
Primitive Indent
Mode-Specific Indent
Region Indent
Relative Indent
Indent Tabs
Motion by Indent
Examining Properties
Changing Properties
Property Search
Special Properties
Format Properties
Sticky Properties
Saving Properties
Lazy Properties
Clickable Text
Fields
Not Intervals
Text Representations
Converting Representations
Selecting a Representation
Character Codes
Character Sets
Chars and Bytes
Splitting Characters
Scanning Charsets
Translation of Characters
Coding Systems
Input Methods
Locales
String Search
Regular Expressions
Regexp Search
Match Data
Saving Match Data
Standard Regexps
Searching and Case
Syntax of Regexps
Regexp Example
Syntax Descriptors
Syntax Table Functions
Parsing Expressions
Standard Syntax Tables
Syntax Table Internals
Syntax Class Table
Syntax Flags
Abbrev Mode
Abbrev Tables
Defining Abbrevs
Abbrev Files
Abbrev Expansion
Standard Abbrev Tables
Subprocess Creation
Synchronous Processes
Asynchronous Processes
Deleting Processes
Process Information
Input to Processes
Signals to Processes
Output from Processes
Sentinels
Network
Process Buffers
Filter Functions
Accepting Output
Starting Up
Getting Out
System Environment
Terminal Input
Terminal Output
Flow Control
Batch Mode
Startup Summary
Init File
Terminal-Specific
Command-Line Arguments
Killing Emacs
Suspending Emacs
Refresh Screen
Truncation
The Echo Area
Selective Display
Overlay Arrow
Temporary Displays
Waiting
Blinking
Usual Display
Beeping
Window Systems
Building Emacs
Pure Storage
Garbage Collection
Object Internals
Writing Emacs Primitives
Buffer Internals
Window Internals
Process Internals
Emacs 20 Antinews
*****************
For those users who live backwards in time, here is information about
downgrading to Emacs version 20.4. We hope you will enjoy the greater
simplicity that results from the absence of many Emacs 21 features. In
the following section, we carry this information back to Emacs 20.3,
for which the previous printed edition of this manual was made.
Old Lisp Features in Emacs 20
=============================
* The `push' and `pop' macros are not defined. Neither are `dolist'
and `dotimes'.
* You can't display images in buffers. (Emacs is meant for editing
text.) With no images, there are no display margins, and no tool
bars.
* The `display' text property has no special meaning; you can use it
freely in Lisp programs, with no effects except what you implement
for yourself. With no images, who needs the `display' text
property?
* The `field' text property has no special meaning; buffers are no
longer subdivided into fields. (The division of information into
fields is always rather arbitrary.)
* Faces have fewer attributes. The attributes `:family', `:height',
`:width', `:weight', and `:slant', have been replaced with a font
name, a "bold" flag, and an "italic" flag.
The attributes `:overline', `:strike-through' and `:box' have been
eliminated too. Underlining now always has the same color as the
text--using any other color would be bad taste.
With fewer font attributes, there are no functions
`set-face-attribute' and `face-attribute'. Instead, you access
these attributes using functions such as `face-font', and set them
with functions such as `set-face-font'. (These functions were
available in Emacs 21, but are not as useful there.)
* The standard faces `scroll-bar', `menu', `border', `cursor', and
`mouse' have been eliminated. They are rather strange, as faces,
and therefore shouldn't really exist. You can use
`set-border-color', `set-cursor-color' and `set-mouse-color' to
specify the colors for the frame border, the text cursor, and the
mouse cursor. To specify menu colors, use X resources.
* Colors and other face attributes are no longer supported on
character terminals, so you no longer have to worry about
terminals making faces at you.
* Emacs will respect your peace and quiet, aside from occasional
beeps, because there are no facilities for playing sounds.
* Emacs 20 provides a complex and badly designed method for handling
character composition for languages such as Thai that display
several letters as a single combined image. We are too ashamed of
it to tell you any more than that.
* `delete-and-extract-region' has been deleted; instead, use
`buffer-substring' to extract the text, then use `delete-region'
to delete it.
* Regular expressions do not support the POSIX character classes
such as `[:alpha:]'. All characters are created equal.
* Hash tables have been eliminated; use alists instead.
* The Lisp printer does not detect and report circular structure.
That is ok, because the Lisp reader cannot recreate circular
structure anyway. However, there is a library `cust-print.el'
which can report circular structure.
* Emacs provides its own implementation of scroll bars, instead of
using those of the X toolkit. They always use the frame foreground
and background colors, so you cannot specify different colors for
the scroll bars.
* For simplicity, all ASCII characters now have the same height and
width. (Certain characters, such as Chinese characters, always
have twice the standard width.) All characters are created equal.
* You can now resize any Emacs window, and size changes in one
window can propagate to all others. Windows can no longer use
`window-size-fixed' to get special privileges.
* The function `intern-soft' no longer accepts a symbol as argument.
* The function `bitmap-spec-p' has been renamed to `pixmap-spec-p'
to encourage users to practice Emacs' help system while trying to
find it.
* Tooltips operate using ordinary Emacs frames.
* Areas of the mode line are not mouse-sensitive; however, some mouse
commands are available for the mode line as a whole.
* Windows cannot have header lines. Conversely, there is no way to
turn off the mode line of a window unless it is a minibuffer.
* Plain dashes are the only separators you can use in a menu.
* Vertical fractional scrolling does not exist.
* The functions `format' and `message' ignore and discard text
properties.
* The function `propertize' does not exist; you can get the job done
using `set-text-properties'.
* Colors are supported only on window systems, not on text-only
terminals. So the support functions for colors on text-only
terminals are not needed, and have been eliminated.
* The functions `color-values', `color-defined-p' and
`defined-colors' have been renamed to `x-color-values',
`x-color-defined-p' and `x-defined-colors'.
* Windows cannot be made fixed-width or fixed-height; Emacs will
adjust the size of all windows when it needs to.
* The string used as the value of the `before-string' or
`after-string' property must contain only characters that display
as a single column--control characters, including tabs and
newlines, will give strange results.
* The minibuffer prompt does not actually appear in content of the
minibuffer; it is displayed specially in the minibuffer window.
* The "exclusive open" feature of `write-region' has been
eliminated; any non-`nil' value for the seventh argument now means
to ask the user for confirmation.
* The function `buffer-size' always reports on the current buffer.
* The function `assq-delete-all' has itself been deleted. So there!
* The keyword `:set-after' no longer does anything in `defcustom'.
* The variable `small-temporary-file-directory' has no special
meaning. There's only one variable for specifying which directory
to use for temporary files, `temporary-file-directory', but not all
Emacs features use it anyway. Some use the `TMP' environment
variable, and some use the `TMPDIR' environment variable.
* If the second argument of `save-some-buffers', PRED, is not `nil',
then the precise value no longer matters. Any non-`nil' value
means the same as `t': offer to save each non-file buffer that has
a non-`nil' value for `buffer-offer-save'.
* The variable `inhibit-modification-hooks' has no special meaning.
* The hook `fontification-functions' has been eliminated, but there
are other hooks, such as `window-scroll-functions', that you can
use to do a similar job.
* The variable `redisplay-dont-pause' has no special meaning.
* The hook `calendar-move-hook' has been deleted.
* The function `move-to-column' treats any non-`nil' second argument
just like `t'.
Old Lisp Features in Emacs 20.3
===============================
Here are the most important of the features that you will learn to
do without in Emacs 20.3:
Here are changes in the Lisp language itself:
* The functions `line-beginning-position' and `line-end-position'
have been eliminated.
* The functions `directory-files-and-attributes',
`file-attributes-lessp', and `file-expand-wildcards', have been
eliminated.
* The functions `decode-coding-region' and `encode-coding-region'
leave text properties untouched, in case that is useful. (It
rarely makes any sense, though.)
* The functions `position-bytes' and `byte-to-position' have been
eliminated.
* Temporary buffers made with `with-output-to-temp-buffer' are now
modifiable by default, and use Fundamental mode rather than Help
mode.
* The functions `sref' interprets its INDEX argument as a number of
bytes, not a number of characters. And the function `char-bytes'
actually tries to report on the number of bytes that a character
occupies.
* The function `process-running-child-p' has been eliminated.
* The function `interrupt-process' and similar functions no longer do
anything special when the second argument is `lambda'.
* The function `define-prefix-command' accepts only two arguments.
* The meaning of the second argument to `read-char', `read-event',
and `read-char-exclusive' has been reversed: they use the current
input method if the argument is if `nil'.
* The function `with-temp-message' has been eliminated.
* The function `clear-this-command-keys' has been eliminated.
* The functions `gap-position' and `gap-size' have been eliminated.
* In `modify-face', an argument of `(nil)' has no special meaning.
* The base64 conversion functions have been eliminated.
* Wildcard support has been eliminated from `find-file' and allied
functions.
* `file-attributes' returns the file size and the file inode number
only as a simple integer.
back to top
elisp : Antinews
table of contents
Introduction
Coding Conventions
Lisp Data Types
Numbers
Strings and Characters
Lists
Sequences Arrays Vectors
Hash Tables
Symbols
Evaluation
Control Structures
Variables
Functions
Macros
Customization
Loading
Byte Compilation
Advising Functions
Debugging
Read and Print
Minibuffers
Command Loop
Keymaps
Modes
Documentation
Files
Backups and Auto-Saving
Buffers
Windows
Frames
Positions
Markers
Text
Non-ASCII Characters
Searching and Matching
Syntax Tables
Abbrevs
Processes
Display
Calendar
System Interface
Antinews
GNU Free Documentation License
GPL
Tips
GNU Emacs Internals
Standard Errors
Standard Buffer-Local Variables
Standard Keymaps
Standard Hooks
Index
New Symbols
Caveats
Lisp History
Conventions
Acknowledgements
Some Terms
nil and t
Evaluation Notation
Printing Notation
Error Messages
Buffer Text Notation
Format of Descriptions
Coding Conventions
Compilation Tips
Documentation Tips
Comment Tips
Library Headers
A Sample Function Description
A Sample Variable Description
Printed Representation
Comments
Programming Types
Editing Types
Type Predicates
Equality Predicates
Integer Type
Floating Point Type
Character Type
Sequence Type
Cons Cell Type
Array Type
String Type
Vector Type
Symbol Type
Function Type
Macro Type
Primitive Function Type
Byte-Code Type
Autoload Type
Dotted Pair Notation
Association List Type
Buffer Type
Window Type
Window Configuration Type
Marker Type
Process Type
Stream Type
Keymap Type
Overlay Type
Integer Basics
Float Basics
Predicates on Numbers
Comparison of Numbers
Arithmetic Operations
Bitwise Operations
Numeric Conversions
Math Functions
Random Numbers
String Basics
Predicates for Strings
Creating Strings
Text Comparison
String Conversion
Formatting Strings
Case Conversion
Cons Cells
Lists as Boxes
List-related Predicates
List Elements
Building Lists
Modifying Lists
Sets And Lists
Association Lists
Setcar
Setcdr
Rearrangement
Sequence Functions
Arrays
Array Functions
Vectors
Symbol Components
Definitions
Creating Symbols
Property Lists
Intro Eval
Eval
Forms
Quoting
Self-Evaluating Forms
Symbol Forms
Classifying Lists
Function Forms
Macro Forms
Special Forms
Autoloading
Sequencing
Conditionals
Combining Conditions
Iteration
Nonlocal Exits
Catch and Throw
Examples of Catch
Errors
Cleanups
Signaling Errors
Processing of Errors
Handling Errors
Error Symbols
Global Variables
Constant Variables
Local Variables
Void Variables
Defining Variables
Accessing Variables
Setting Variables
Variable Scoping
Buffer-Local Variables
Scope
Extent
Impl of Scope
Using Scoping
Intro to Buffer-Local
Creating Buffer-Local
Default Value
What Is a Function
Lambda Expressions
Function Names
Defining Functions
Calling Functions
Mapping Functions
Anonymous Functions
Function Cells
Related Topics
Lambda Components
Simple Lambda
Argument List
Function Documentation
Simple Macro
Expansion
Compiling Macros
Defining Macros
Backquote
Problems with Macros
How Programs Do Loading
Autoload
Named Features
Repeated Loading
Compilation Functions
Disassembly
Simple Advice
Defining Advice
Computed Advice
Activation of Advice
Enabling Advice
Preactivation
Argument Access in Advice
Subr Arguments
Combined Definition
Debugger
Syntax Errors
Compilation Errors
Edebug
Error Debugging
Function Debugging
Explicit Debug
Using Debugger
Debugger Commands
Invoking the Debugger
Internals of Debugger
Excess Open
Excess Close
Streams Intro
Input Streams
Input Functions
Output Streams
Output Functions
Intro to Minibuffers
Text from Minibuffer
Object from Minibuffer
Completion
Yes-or-No Queries
Minibuffer Misc
Basic Completion
Minibuffer Completion
Completion Commands
High-Level Completion
Reading File Names
Programmed Completion
Command Overview
Defining Commands
Interactive Call
Command Loop Info
Input Events
Reading Input
Waiting
Quitting
Prefix Command Arguments
Recursive Editing
Disabling Commands
Command History
Keyboard Macros
Using Interactive
Interactive Codes
Interactive Examples
Keymap Terminology
Format of Keymaps
Creating Keymaps
Inheritance and Keymaps
Prefix Keys
Menu Keymaps
Active Keymaps
Key Lookup
Functions for Key Lookup
Changing Key Bindings
Key Binding Commands
Scanning Keymaps
Major Modes
Minor Modes
Mode Line Format
Hooks
Major Mode Conventions
Example Major Modes
Auto Major Mode
Mode Help
Minor Mode Conventions
Keymaps and Minor Modes
Mode Line Data
Mode Line Variables
%-Constructs
Documentation Basics
Accessing Documentation
Keys in Documentation
Describing Characters
Help Functions
Visiting Files
Saving Buffers
Reading from Files
Writing to Files
File Locks
Information about Files
Contents of Directories
Changing Files
File Names
Visiting Functions
Subroutines of Visiting
Testing Accessibility
Kinds of Files
File Attributes
File Name Components
Directory Names
Relative File Names
File Name Expansion
Unique File Names
File Name Completion
Backup Files
Auto-Saving
Reverting
Making Backups
Rename or Copy
Numbered Backups
Backup Names
Buffer Basics
Buffer Names
Buffer File Name
Buffer Modification
Modification Time
Read Only Buffers
The Buffer List
Creating Buffers
Killing Buffers
Current Buffer
Basic Windows
Splitting Windows
Deleting Windows
Selecting Windows
Cyclic Window Ordering
Buffers and Windows
Displaying Buffers
Window Point
Window Start
Vertical Scrolling
Horizontal Scrolling
Size of Window
Resizing Windows
Window Configurations
Creating Frames
Multiple Displays
Frame Parameters
Frame Titles
Deleting Frames
Finding All Frames
Frames and Windows
Minibuffers and Frames
Input Focus
Visibility of Frames
Raising and Lowering
Frame Configurations
Mouse Tracking
Mouse Position
Pop-Up Menus
Dialog Boxes
Pointer Shapes
Window System Selections
Color Names
Resources
Display Feature Testing
Point
Motion
Excursions
Narrowing
Character Motion
Word Motion
Buffer End Motion
Text Lines
Screen Lines
List Motion
Skipping Characters
Overview of Markers
Predicates on Markers
Creating Markers
Information from Markers
Moving Markers
The Mark
The Region
Near Point
Buffer Contents
Insertion
Commands for Insertion
Deletion
User-Level Deletion
The Kill Ring
Undo
Auto Filling
Filling
Margins
Sorting
Indentation
Columns
Case Changes
Text Properties
Substitution
Transposition
Registers
Change Hooks
Kill Ring Concepts
Kill Functions
Yank Commands
Low-Level Kill Ring
Internals of Kill Ring
Primitive Indent
Mode-Specific Indent
Region Indent
Relative Indent
Indent Tabs
Motion by Indent
Examining Properties
Changing Properties
Property Search
Special Properties
Format Properties
Sticky Properties
Saving Properties
Lazy Properties
Clickable Text
Fields
Not Intervals
Text Representations
Converting Representations
Selecting a Representation
Character Codes
Character Sets
Chars and Bytes
Splitting Characters
Scanning Charsets
Translation of Characters
Coding Systems
Input Methods
Locales
String Search
Regular Expressions
Regexp Search
Match Data
Saving Match Data
Standard Regexps
Searching and Case
Syntax of Regexps
Regexp Example
Syntax Descriptors
Syntax Table Functions
Parsing Expressions
Standard Syntax Tables
Syntax Table Internals
Syntax Class Table
Syntax Flags
Abbrev Mode
Abbrev Tables
Defining Abbrevs
Abbrev Files
Abbrev Expansion
Standard Abbrev Tables
Subprocess Creation
Synchronous Processes
Asynchronous Processes
Deleting Processes
Process Information
Input to Processes
Signals to Processes
Output from Processes
Sentinels
Network
Process Buffers
Filter Functions
Accepting Output
Starting Up
Getting Out
System Environment
Terminal Input
Terminal Output
Flow Control
Batch Mode
Startup Summary
Init File
Terminal-Specific
Command-Line Arguments
Killing Emacs
Suspending Emacs
Refresh Screen
Truncation
The Echo Area
Selective Display
Overlay Arrow
Temporary Displays
Waiting
Blinking
Usual Display
Beeping
Window Systems
Building Emacs
Pure Storage
Garbage Collection
Object Internals
Writing Emacs Primitives
Buffer Internals
Window Internals
Process Internals
home/search |
what's new |
help