This file documents the SXEmacs editor.

Copyright (C) 1985, 1986, 1988 Richard M. Stallman. Copyright © 1991, 1992, 1993, 1994 Lucid, Inc. Copyright © 1993, 1994 Sun Microsystems, Inc. Copyright © 1995 Amdahl Corporation. Copyright © 2005 - 2008 Steve Youngs.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

versions of this manual under the conditions for verbatim copying, provided also that the sections entitled ``Distribution'' and ``GNU General Public License'' are included exactly as in the original, and provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that the sections entitled ``Distribution'' and ``GNU General Public License'' may be included in a translation approved by the author instead of in the original English.

The SXEmacs Editor
******************

SXEmacs is the extensible, customizable, self-documenting real-time display editor.  This Info file describes how to edit with Emacs and some of how to customize it, but not how to extend it.  It corresponds to: v22.1.14

Although, it hasn't had a complete rewrite for quite some time.

This manual is intended as a detailed reference to SXEmacs.  If you are looking for an introductory manual, see the New User's Guide.

     [file gpl.texi not included]

Distribution
************

SXEmacs is free; this means that everyone is free to use it and free to redistribute it on a free basis.  SXEmacs is not in the public domain; it is copyrighted and there are restrictions on its distribution, but these restrictions are designed to permit everything that a good cooperating citizen would want to do.  What is not allowed is to try to prevent others from further sharing any version of SXEmacs that they might get from you.  The precise conditions are found in the GNU General Public License that comes with SXEmacs and also appears following this section.

The easiest way to get a copy of SXEmacs is from someone else who has it. You need not ask for permission to do so, or tell any one else; just copy it.

If you have access to the Internet, you can get the latest version of SXEmacs from the anonymous FTP server ftp.sxemacs.org in the directory /pub/sxemacs.  It can also be found at numerous other archive sites around the world; check the file etc/DISTRIB in an SXEmacs distribution for the latest known list.

Getting Other Versions of Emacs
===============================

The Free Software Foundation's version of Emacs (called FSF Emacs in this manual and often referred to as GNU Emacs) is available by anonymous FTP from prep.ai.mit.edu.

Introduction
************

You are reading about SXEmacs, an incarnation of the advanced, self-documenting, customizable, extensible real-time display editor Emacs.  SXEmacs provides many powerful display and user-interface capabilities not found in other Emacsen and is mostly upwardly compatible with GNU Emacs from the Free Software Foundation (referred to as FSF Emacs in this manual).  SXEmacs also comes standard with a great number of useful packages.

We say that SXEmacs is a display editor because normally the text being edited is visible on the screen and is updated automatically as you type.  See Display.

We call SXEmacs a real-time editor because the display is updated very frequently, usually after each character or pair of characters you type.  This minimizes the amount of information you must keep in your head as you edit.  See Basic Editing.

We call SXEmacs advanced because it provides facilities that go beyond simple insertion and deletion: filling of text; automatic indentation of programs; viewing two or more files at once; and dealing in terms of characters, words, lines, sentences, paragraphs, and pages, as well as expressions and comments in several different programming languages.  It is much easier to type one command meaning ``go to the end of the paragraph'' than to find that spot with simple cursor keys.

Self-documenting means that at any time you can type a special character, Control-h, to find out what your options are.  You can also use C-h to find out what a command does, or to find all the commands relevant to a topic.  See Help.

Customizable means you can change the definitions of SXEmacs commands.  For example, if you use a programming language in which comments start with <** and end with **>, you can tell the SXEmacs comment manipulation commands to use those strings (see Comments).  Another sort of customization is rearrangement of the command set.  For example, you can set up the four basic cursor motion commands (up, down, left and right) on keys in a diamond pattern on the keyboard if you prefer.  See Customization.

Extensible means you can go beyond simple customization and write entirely new commands, programs in the Lisp language to be run by SXEmacs' own Lisp interpreter.  SXEmacs is an ``on-line extensible'' system: it is divided into many functions that call each other.  You can redefine any function in the middle of an editing session and replace any part of SXEmacs without making a separate copy of all of SXEmacs.  Most of the editing commands of SXEmacs are written in Lisp; the few exceptions could have been written in Lisp but are written in C for efficiency.  Only a programmer can write an extension to SXEmacs, but anybody can use it afterward.

     [file frame.texi not included]
     [file keystrokes.texi not included]
     [file menus.texi not included]
     [file entering.texi not included]
     [file cmdargs.texi not included]
     [file startup.texi not included]
     [file basic.texi not included]
     [file undo.texi not included]
     [file mini.texi not included]
     [file m-x.texi not included]
     [file help.texi not included]
     [file mark.texi not included]
     [file mouse.texi not included]
     [file killing.texi not included]
     [file regs.texi not included]
     [file display.texi not included]
     [file search.texi not included]
     [file fixit.texi not included]
     [file files.texi not included]
     [file buffers.texi not included]
     [file windows.texi not included]
     [file mule.texi not included]
     [file major.texi not included]
     [file indent.texi not included]
     [file text.texi not included]
     [file programs.texi not included]
     [file building.texi not included]
     [file packages.texi not included]
     [file abbrevs.texi not included]
     [file picture.texi not included]
     [file sending.texi not included]
     [file reading.texi not included]
     [file calendar.texi not included]
     [file misc.texi not included]
     [file custom.texi not included]
     [file trouble.texi not included]

     [file new.texi not included]
     [file glossary.texi not included]