(chinese-gbk): New charset.
[bpt/emacs.git] / man / anti.texi
CommitLineData
6bf7aab6 1@c This is part of the Emacs manual.
739a80b3 2@c Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
6bf7aab6
DL
3@c See file emacs.texi for copying conditions.
4
9e827d47 5@node Antinews, Mac OS, X Resources, Top
daaf40c7 6@appendix Emacs 20 Antinews
6bf7aab6
DL
7
8 For those users who live backwards in time, here is information about
daaf40c7
EZ
9downgrading to Emacs version 20. We hope you will enjoy the greater
10simplicity that results from the absence of many Emacs 21 features.
6bf7aab6
DL
11
12@itemize @bullet
13@item
16d51a35
EZ
14The display engine has been greatly simplified by eliminating support
15for variable-size characters and other non-text display features. This
16avoids the complexity of display layout in Emacs 21. To wit:
6bf7aab6 17
daaf40c7 18@itemize @minus
6bf7aab6 19@item
16d51a35 20Variable-size characters are not supported in Emacs 20. You cannot use
b8f86df3 21fonts which contain oversized characters, and using italic fonts can
fa5561b5 22result in illegible display. However, text which uses variable-size
b8f86df3 23fonts is unreadable anyway. With all characters in a frame laid out on
16d51a35
EZ
24a regular grid, each character having the same height and width, text is
25much easier to read.
6bf7aab6
DL
26
27@item
16d51a35
EZ
28Emacs does not display images, or play sounds. It just displays text,
29as you would expect from a @strong{text} editor.
6bf7aab6 30
0772f3a3 31@item
16d51a35
EZ
32Specification of the font for a face now uses an XLFD font name, for
33compatibility with other X applications. This means that font
34attributes cannot be merged when combining faces; however, experience
35shows that mergers are bad economics. Face inheritance has also been
389645fd 36removed, so no one can accumulate ``too much face.''
0772f3a3
EZ
37
38@item
9b3ae7e4
RS
39Several face appearance attributes, including 3D, strike-through, and
40overline, have been eliminated.
0772f3a3 41
6bf7aab6 42@item
fa5561b5 43Emacs now provides its own ``lean and mean'' scroll bars instead of using
16d51a35
EZ
44those from the X toolkit. Toggle buttons and radio buttons in menus now
45look just like any other menu item, which simplifies them, and prevents
46them from standing out and distracting your attention from the other
47menu items.
6bf7aab6
DL
48
49@item
16d51a35
EZ
50There are no toolbars and no tooltips; in particular, @acronym{GUD}
51mode cannot display variable values in a tooltip when you click on
52that variable's name. Instead, Emacs 20 provides a direct interface to
53the debugger, so that you can type appropriate debugger commands, such
54as @kbd{display foo} and @kbd{print bar}. As these commands use
55explicit words, their meaning is more self-evident.
6bf7aab6
DL
56
57@item
7ff28486 58Colors are not available on text-only terminals. If you @emph{must}
9b3ae7e4 59have colors, but cannot afford to run X, you can now use the MS-DOG
16d51a35 60version of Emacs inside a DOS emulator.
6bf7aab6
DL
61
62@item
16d51a35
EZ
63The mode line is not mouse-sensitive, since it is meant only to
64display information. Use keyboard commands to switch between buffers,
65toggle read-only and modified status, switch minor modes on and off,
66etc.
6bf7aab6
DL
67
68@item
c9a84c34 69The support for ``wheeled'' mice under X has been removed, because
9b3ae7e4 70of their slow scroll rate, and because you will find fewer and fewer of
16d51a35
EZ
71these mice as you go back in time. Instead Emacs 20 provides the
72@kbd{C-v} and @kbd{M-v} keys for scrolling. (You can also use the
73scroll bar, but be advised that it, too, may be absent in yet earlier
74Emacs versions.)
75
76@item
77Busy-cursor display is gone, as it was found to be too hard to draw on
78displays whose resolution is getting lower and lower. This means that
79you get the standard kind of cursor blinking that your terminal
80provides.
6bf7aab6
DL
81
82@item
daaf40c7 83Some aspects of Emacs appearance, such as the colors of the scroll bar
16d51a35 84and the menus, can only be controlled via X resources. Since colors
9b3ae7e4 85aren't supported except on X, it doesn't make any sense to do this in
16d51a35
EZ
86any way but the X way. For those users who aren't privy to X arcana,
87we've provided good default colors that should make everybody happy.
6bf7aab6 88
189a47e4
RS
89@item
90Emacs 20 adds new lines to the buffer when you move down from the last
91line with @kbd{C-n} or a down-arrow.
92
6bf7aab6 93@item
16d51a35
EZ
94The variable @code{show-trailing-whitespace} has no special meaning, so
95trailing whitespace on a line is now always displayed correctly: as
47d7776c 96empty space. To see if a line ends with spaces or tabs, type @kbd{C-e}
16d51a35
EZ
97on that line. Likewise, empty lines at the end of the buffer are not
98marked in any way; use @kbd{M->} to see where the end of the buffer is.
6bf7aab6
DL
99
100@item
16d51a35
EZ
101The spacing between text lines on the display now always follows the
102font design and the rules of your window manager. This provides for
103predictable appearance of the displayed text.
daaf40c7 104@end itemize
6bf7aab6
DL
105
106@item
16d51a35 107Emacs 20 has simpler support for multi-lingual editing. While not as
dd4e58c7 108radical a simplification as Emacs 19 will be, it goes a long way toward
16d51a35 109eliminating some of the annoying features:
6bf7aab6 110
daaf40c7 111@itemize @minus
6bf7aab6 112@item
16d51a35
EZ
113Translations of the Emacs reference cards to other languages are no
114longer part of the distribution, because in the past we expect
115computer users to speak English.
6bf7aab6
DL
116
117@item
daaf40c7
EZ
118To avoid extra confusion, many language environments have been
119eliminated. For example, @samp{Polish} and @samp{Celtic} (Latin-8)
16d51a35
EZ
120environments are not supported. The Latin-9 environment is gone,
121too, because you won't need the Euro sign in the past.
6bf7aab6
DL
122
123@item
16d51a35
EZ
124Emacs 20 always asks you which coding system to use when saving
125a buffer, unless it can use the same one that it used to read the buffer.
126It does not try to see if the preferred coding system is suitable.
6bf7aab6 127
6bf7aab6 128@item
daaf40c7
EZ
129Commands which provide detailed information about character sets and
130coding systems, such as @code{list-charset-chars},
16d51a35 131@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence,
bb61b038 132no longer exist. The less said about non-ASCII characters, the
16d51a35 133better.
6bf7aab6
DL
134
135@item
daaf40c7
EZ
136The terminal coding system cannot be set to something CCL-based, so
137keyboards which produce @code{KOI8} and DOS/Windows codepage codes
16d51a35
EZ
138cannot be supported directly. Instead, you should use one of the input
139methods provided in the Leim package.
daaf40c7 140@end itemize
6bf7aab6 141
6bf7aab6 142@item
16d51a35
EZ
143As you move back through time, some systems will become unimportant or
144enter the vaporware phase, so Emacs 20 does not support them:
daaf40c7
EZ
145
146@itemize @minus
147@item
16d51a35 148Emacs 20 cannot be built on GNU/Linux systems running on IA64 machines,
c9a84c34
DL
149and you cannot build a 64-bit Emacs on Solaris or Irix even though there
150are still 64-bit versions of those OSes.
daaf40c7
EZ
151
152@item
c9a84c34
DL
153LynxOS is also not supported, and neither is the Macintosh, though they
154still exist.
daaf40c7
EZ
155@end itemize
156
6bf7aab6 157@item
16d51a35
EZ
158The arrangement of menu bar items differs from most other @acronym{GUI}
159programs. We think that uniformity of look-and-feel is boring, and that
160Emacs' unique features require its unique menu-bar configuration.
daaf40c7 161
6bf7aab6 162@item
16d51a35
EZ
163You cannot save the options that you set from the @samp{Options}
164menu-bar menu; instead, you need to set all the options again each time
165you start a new session. However, if you follow the recommended
166practice and keep a single Emacs session running until you log out,
167you won't have to set the options very often.
daaf40c7 168
6bf7aab6 169@item
16d51a35
EZ
170Emacs 20 does not pop up a buffer with error messages when an error is
171signaled during loading of the user's init file. Instead, it simply
172announces the fact that an error happened. To know where in the init
9b3ae7e4 173file that was, insert @code{(message "foo")} lines judiciously into the
16d51a35 174file and look for those messages in the @samp{*Messages*} buffer.
daaf40c7 175
6bf7aab6 176@item
16d51a35
EZ
177Some commands no longer treat Transient Mark mode specially. For
178example, @code{ispell} doesn't spell-check the region when Transient
179Mark mode is in effect and the mark is active; instead, it checks the
180current buffer. (Transient Mark mode is alien to the spirit of Emacs,
181so we are planning to remove it altogether in an earlier version.)
daaf40c7 182
6bf7aab6 183@item
cdc6fb31 184@kbd{C-Down-Mouse-3} does not show what would be in the menu bar
c9a84c34 185when the menu bar is not displayed.
6bf7aab6 186
daaf40c7 187@item
fa5561b5 188For uniformity, the @key{delete} function key in Emacs 20 works exactly like
16d51a35
EZ
189the @key{DEL} key, on both text-only terminals and window systems---it
190always deletes backward. This eliminates the inconsistency of Emacs 21,
191where the key labeled @key{delete} deletes forward when you are using a
192window system, and backward on a text-only terminals.
6bf7aab6 193
daaf40c7 194@item
16d51a35
EZ
195The ability to place backup files in special subdirectories (controlled
196by @code{backup-directory-alist}) has been eliminated. This makes
197finding your backup files much easier: they are always in the same
198directory as the original files.
6bf7aab6 199
daaf40c7
EZ
200@item
201Emacs no longer refuses to load Lisp files compiled by incompatible
16d51a35
EZ
202versions of Emacs, which may contain invalid byte-code. Instead,
203Emacs now dumps core when it encounters such byte-code. However, this
204is a rare occurrence, and it won't happen at all when all Emacs
205versions merge together, in the distant past.
206
207@item
208The @kbd{C-x 5 1} command has been eliminated. If you want to delete
209all the frames but the current one, delete them one by one instead.
210
211@item
212CC Mode now enforces identical values for some customizable options,
213such as indentation style, for better consistency. In particular, if
214you select an indentation style for Java, the same style is used
fa5561b5 215for C and C@t{++} buffers as well.
6bf7aab6 216
daaf40c7 217@item
16d51a35 218Isearch does not highlight other possible matches; it shows only the
cdc6fb31 219current match, to avoid distracting your attention. @kbd{Mouse-2} in
16d51a35
EZ
220the echo area during incremental search now signals an error, instead of
221inserting the current selection into the search string. But you can
222accomplish more or less the same job by typing @kbd{M-y}.
6bf7aab6
DL
223
224@item
16d51a35
EZ
225The ability to specify a port number when editing remote files with
226@code{ange-ftp} was removed. Instead, Emacs 20 provides undocumented
227features in the function @code{ange-ftp-normal-login} (@cite{Use the
228source, Luke!}) to specify the port.
6bf7aab6
DL
229
230@item
16d51a35
EZ
231Emacs 20 does not check for changing time stamps of remote files, since
232the old FTP programs you will encounter in the past could not provide
233the time stamp anyway. Windows-style FTP clients which output the
234@samp{^M} character at the end of each line get special handling from
235@code{ange-ftp} in Emacs 20, with unexpected results that should make
236your life more interesting.
6bf7aab6
DL
237
238@item
16d51a35
EZ
239Many complicated display features, including highlighting of
240mouse-sensitive text regions and popping up help strings for menu items,
241don't work in the MS-DOS version. Spelling doesn't work on MS-DOS,
242and Eshell doesn't exist, so there's no workable shell-mode, either.
243This fits the spirit of MS-DOS, which resembles a dumb character
244terminal.
6bf7aab6
DL
245
246@item
16d51a35
EZ
247The @code{woman} package has been removed, so Emacs users on non-Posix
248systems will need @emph{a real man} to read manual pages. (Users who
249are not macho can read the Info documentation instead.)
6bf7aab6
DL
250
251@item
16d51a35
EZ
252@code{recentf} has been removed, because we figure that you can remember
253the names of the files you edit frequently. With decreasing disk size,
254you should have fewer files anyway, so you won't notice the absence of
255this feature.
6bf7aab6
DL
256
257@item
f8ca728a 258The @code{field} property does not exist in Emacs 20, so various
16d51a35
EZ
259packages that run subsidiary programs in Emacs buffers cannot in general
260distinguish which text was user input and which was output from the
261subprocess. If you need to try to do this nonetheless, Emacs 20
262provides a variable @code{comint-prompt-regexp}, which lets you try to
263distinguish input by recognizing prompt strings.
6bf7aab6 264
0772f3a3 265@item
16d51a35
EZ
266We have eliminated the special major modes for Delphi sources,
267PostScript files, context diffs, and @file{TODO} files. Use Fundamental
268Mode instead.
0772f3a3 269
6bf7aab6 270@item
16d51a35
EZ
271Many additional packages that unnecessarily complicate your life in
272Emacs 21 are absent in Emacs 20. You cannot browse C@t{++} classes with
273Ebrowse, access @acronym{SQL} data bases, access @acronym{LDAP} and
274other directory servers, or mix shell commands and Lisp functions using
275Eshell.
6bf7aab6
DL
276
277@item
daaf40c7 278To keep up with decreasing computer memory capacity and disk space, many
16d51a35 279other functions and files have been eliminated in Emacs 20.
6bf7aab6 280@end itemize