(Antinews): Add stuff about Unicode vs emacs-mule representation.
[bpt/emacs.git] / doc / emacs / anti.texi
1 @c This is part of the Emacs manual.
2 @c Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
3 @c See file emacs.texi for copying conditions.
4
5 @node Antinews, Mac OS, X Resources, Top
6 @appendix Emacs 22 Antinews
7
8 For those users who live backwards in time, here is information
9 about downgrading to Emacs version 22.3. We hope you will enjoy the
10 greater simplicity that results from the absence of many Emacs
11 @value{EMACSVER} features.
12
13 @itemize @bullet
14
15 @item
16 The Fontconfig font library is no longer supported. To specify a
17 font, you must use an XLFD (X Logical Font Descriptor). The other
18 ways of specifying fonts---so-called ``Fontconfig'' and ``GTK'' font
19 names---are clearly redundant, and have been removed.
20
21 @item
22 We have switched to a character representation specially designed for
23 Emacs. Rather than forcing all the widely used scripts artificially
24 into alignment, like Unicode does, Emacs treats them all equally,
25 giving each one a place in the space of character codes. Thus,
26 scripts do not need to fight over characters used in each one of them,
27 as each has its own variant, and they all are different as far as
28 Emacs is concerned. For example, there's a Latin-1 c-cedilla
29 character, and there's a Latin-2 c-cedilla; searching a buffer for the
30 Latin-1 variant will only find that variant, but not the others. This
31 design allows us to get rid of a confusing situation in Emacs 23,
32 whereby a character can simultaneously belong to any number of
33 charsets.
34
35 @item
36 Emacs now uses an internal encoding, known as @samp{emacs-mule}, which
37 is peculiar to Emacs and does not map easily into any of the existing
38 character encodings, including Unicode. This was imperative to
39 support several different variants of the same character, each one
40 belonging to its own script: @samp{emacs-mule} marks each character
41 with its script, to better discern them from one another.
42
43 @item
44 For simplicity, the functions @code{encode-coding-region} and
45 @code{decode-coding-region} no longer accept an argument saying where
46 to store the result of their conversions. The result always replaces
47 the original, so there's no need to look for it elsewhere.
48
49 @item
50 Emacs no longer performs font anti-aliasing. If your fonts look ugly,
51 try choosing a larger font and increasing the screen resolution.
52 Admittedly, this becomes difficult as you go further back in time,
53 since available screen resolutions will decrease.
54
55 @item
56 Emacs has added support for some soon-to-be-non-obsolete platforms.
57 These include GNU/Linux systems based on libc version 5, BSD systems
58 based on the COFF executable format, Solaris versions less than 2.6,
59 and many more.
60
61 @item
62 Emacs can no longer display frames on X windows and text terminals
63 (ttys) simultaneously. If you start Emacs as an X application, the
64 Emacs job can only create X frames; if you start Emacs on a tty, the
65 Emacs job can only use that tty. No more confusion about which type
66 of frame will @command{emacsclient} use in any given Emacs session!
67
68 @item
69 Emacs can no longer be started as a daemon. We decided that having an
70 Emacs sitting silently in the background with no visual manifestation
71 anywhere in sight is too confusing.
72
73 @item
74 Transient Mark mode is now disabled by default. Furthermore, some
75 commands that operate specifically on the region when it is active and
76 Transient Mark mode is enabled (such as @code{fill-paragraph}
77 @code{ispell-word}, and @code{indent-for-tab-command}), no longer do
78 so.
79
80 @item
81 The line motion commands, @kbd{C-n} and @kbd{C-p}, now move by logical
82 text lines, not screen lines. Even if a long text line is continued
83 over multiple screen lines, @kbd{C-n} and @kbd{C-p} treat it as a
84 single line, because that's ultimately what it is.
85
86 @item
87 Visual Line mode, which provides ``word wrap'' functionality, has been
88 removed. You can still use Long Lines mode to gain an approximation
89 of word wrapping, though this has some drawbacks---for instance,
90 syntax highlighting often doesn't work well on wrapped lines.
91
92 @item
93 The variable @code{shift-select-mode} has been deleted; holding
94 @key{shift} while typing a motion command no longer creates a
95 temporarily active region. You can still create temporarily active
96 regions by dragging the mouse.
97
98 @item
99 @kbd{C-l} now runs @code{recenter} instead of
100 @code{recenter-top-bottom}. This always sets the current line at the
101 center of the window, instead of cycling through the center, top, and
102 bottom of the window on successive invocations of @kbd{C-l}. This
103 lets you type @kbd{C-l C-l C-l C-l} to be @emph{absolutely sure} that
104 you have recentered the line.
105
106 @item
107 Typing @kbd{M-n} at the start of the minibuffer history list no longer
108 attempts to generate guesses of possible minibuffer input. It instead
109 does the straightforward thing, by issuing the message @samp{End of
110 history; no default available}.
111
112 @item
113 Individual buffers can no longer display faces specially. The text
114 scaling commands @kbd{C-x C-+}, @kbd{C-x C--}, and @kbd{C-x C-0} have
115 been removed, and so has the buffer face menu bound to
116 @kbd{S-down-mouse-1}.
117
118 @item
119 VC no longer supports fileset-based operations on distributed version
120 control systems (DVCSs) such as Arch, Bazaar, Subversion, Mercurial,
121 and Git. For instance, multi-file commits will be performed by
122 committing one file at a time. As you go further back in time, we
123 will remove DVCS support entirely, so start migrating your projects to
124 CVS.
125
126 @item
127 To keep up with decreasing computer memory capacity and disk space, many
128 other functions and files have been eliminated in Emacs 22.3.
129 @end itemize
130
131 @ignore
132 arch-tag: 32932bd9-46f5-41b2-8a0e-fb0cc4caeb29
133 @end ignore