For those users who live backwards in time, here is information
about downgrading to Emacs version 22.3. We hope you will enjoy the
greater simplicity that results from the absence of many Emacs
We have switched to a character representation specially designed for
Emacs. Rather than forcing all the widely used scripts into artificial
alignment, as Unicode does, Emacs treats them all equally, giving
each one a place in the space of character codes. We have eliminated
the confusing practice, in Emacs 23, whereby one character can belong
to multiple character sets. Now each script has its own variant, and
they all are different as far as Emacs is concerned. For example,
there's a Latin-1 c-cedilla character, and there's a Latin-2
c-cedilla; searching a buffer for the Latin-1 variant only finds that
variant, but not the others.
Emacs now uses its own special internal encoding for non-ASCII
characters, known as ‘emacs-mule’. This was imperative to
support several different variants of the same character, each one
belonging to its own script: ‘emacs-mule’ marks each character
with its script, to better discern them from one another.
For simplicity, the functions encode-coding-region and
decode-coding-region no longer accept an argument saying where
to store the result of their conversions. The result always replaces
the original, so there's no need to look for it elsewhere.
Emacs no longer performs font anti-aliasing. If your fonts look ugly,
try choosing a larger font and increasing the screen resolution.
Admittedly, this becomes difficult as you go further back in time,
since available screen resolutions will decrease.
The Fontconfig font library is no longer supported. To specify a
font, you must use an XLFD (X Logical Font Descriptor). The other
ways of specifying fonts—so-called “Fontconfig” and “GTK” font
names—are redundant, so they have been removed.
Transient Mark mode is now disabled by default. Furthermore, some
commands that operate specifically on the region when it is active and
Transient Mark mode is enabled (such as fill-paragraphispell-word, and indent-for-tab-command), no longer do
Holding <shift> while typing a motion command no longer creates a
temporarily active region, since that's inconsistent with how Emacs
normally handles keybindings. The variable shift-select-mode
has been deleted. You can, however, still create temporarily active
regions by dragging the mouse.
The line motion commands, C-n and C-p, now move by logical
text lines, not screen lines. Even if a long text line is continued
over multiple screen lines, C-n and C-p treat it as a
single line, because that's ultimately what it is.
Visual Line mode, which provides “word wrap” functionality, has been
removed. You can still use Long Lines mode to gain an approximation
of word wrapping, though this has some drawbacks—for instance,
syntax highlighting often doesn't work well on wrapped lines.
C-l now runs recenter instead of
recenter-top-bottom. This always sets the current line at the
center of the window, instead of cycling through the center, top, and
bottom of the window on successive invocations. This lets you type
C-l C-l C-l C-l to be absolutely sure that you have
recentered the line.
The way Emacs generates possible minibuffer completions is now much
simpler to understand. It matches alternatives to the text before
point, ignoring the text after point; it also does not attempt to
perform partial completion if the first completion attempt fails.
Typing M-n at the start of the minibuffer history list no longer
attempts to generate guesses of possible minibuffer input. It instead
does the straightforward thing, by issuing the message ‘End of
history; no default available’.
Individual buffers can no longer display faces specially. The text
scaling commands C-x C-+, C-x C--, and C-x C-0 have
been removed, and so has the buffer face menu bound to
VC no longer supports fileset-based operations on distributed version
control systems (DVCSs) such as Arch, Bazaar, Subversion, Mercurial,
and Git. For instance, multi-file commits will be performed by
committing one file at a time. As you go further back in time, we
will remove DVCS support entirely, so you should migrate your projects
Rmail now uses a special file format, Babyl format, specifically designed
for storing and editing mail. When you visit a file in Rmail, or get new
mail, Rmail converts it automatically to Babyl format.
Emacs can no longer display frames on X windows and text terminals
(ttys) simultaneously. If you start Emacs as an X application, it
can only create X frames; if you start Emacs on a tty, it can only use
that tty. No more confusion about which type of frame
emacsclient will use in any given Emacs session!
Emacs can no longer be started as a daemon. You can be sure that if
you don't see Emacs, then it's not running.
Emacs has added support for many soon-to-be-non-obsolete platforms,
including VMS, DECstation, SCO Unix, and systems lacking alloca.
Support for Sun windows has been added.
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 22.3.