Changes from Kai G.
[bpt/emacs.git] / man / anti.texi
CommitLineData
6bf7aab6 1@c This is part of the Emacs manual.
daaf40c7 2@c Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
6bf7aab6
DL
3@c See file emacs.texi for copying conditions.
4
5@node Antinews, MS-DOS, Command Arguments, 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
EZ
20Variable-size characters are not supported in Emacs 20. You cannot use
21fonts which contain oversized characters, and using italics fonts can
22results in illegible display. However, text which uses variable-size
23fonts is unreadable anyway. With all characters in a frame layed out on
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
36removed, so no one can accumulate ``too much face''.
0772f3a3
EZ
37
38@item
16d51a35
EZ
39Several face appearance attributes such as 3D appearence,
40strike-through, and overline, have been eliminated.
0772f3a3 41
6bf7aab6 42@item
16d51a35
EZ
43Emacs now provides its own ``lean and mean'' scroll bars instead using
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
daaf40c7 58Colors are not available on character terminals. If you @emph{must}
16d51a35
EZ
59have colors, but cannot afford running X, you can now use the MS-DOG
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
16d51a35
EZ
69The support for ``wheeled'' mice on XFree86 has been removed, because
70of their slow scroll rate, and because you will find less and less of
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
EZ
84and the menus, can only be controlled via X resources. Since colors
85aren't supported except on X, it doesn't make any sense doing this in
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
DL
88
89@item
16d51a35
EZ
90The variable @code{show-trailing-whitespace} has no special meaning, so
91trailing whitespace on a line is now always displayed correctly: as
92empty space. To see if a line ends with spaces or TABs, type @kbd{C-e}
93on that line. Likewise, empty lines at the end of the buffer are not
94marked in any way; use @kbd{M->} to see where the end of the buffer is.
6bf7aab6
DL
95
96@item
16d51a35
EZ
97The spacing between text lines on the display now always follows the
98font design and the rules of your window manager. This provides for
99predictable appearance of the displayed text.
daaf40c7 100@end itemize
6bf7aab6
DL
101
102@item
16d51a35
EZ
103Emacs 20 has simpler support for multi-lingual editing. While not as
104radical a simplification as Emacs 19 was, it goes a long way toward
105eliminating some of the annoying features:
6bf7aab6 106
daaf40c7 107@itemize @minus
6bf7aab6 108@item
16d51a35
EZ
109Translations of the Emacs reference cards to other languages are no
110longer part of the distribution, because in the past we expect
111computer users to speak English.
6bf7aab6
DL
112
113@item
daaf40c7
EZ
114To avoid extra confusion, many language environments have been
115eliminated. For example, @samp{Polish} and @samp{Celtic} (Latin-8)
16d51a35
EZ
116environments are not supported. The Latin-9 environment is gone,
117too, because you won't need the Euro sign in the past.
6bf7aab6
DL
118
119@item
16d51a35
EZ
120Emacs 20 always asks you which coding system to use when saving
121a buffer, unless it can use the same one that it used to read the buffer.
122It does not try to see if the preferred coding system is suitable.
6bf7aab6 123
6bf7aab6 124@item
daaf40c7
EZ
125Commands which provide detailed information about character sets and
126coding systems, such as @code{list-charset-chars},
16d51a35
EZ
127@code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence,
128no longer exist. The less said about non-@sc{ascii} characters, the
129better.
6bf7aab6
DL
130
131@item
daaf40c7
EZ
132The terminal coding system cannot be set to something CCL-based, so
133keyboards which produce @code{KOI8} and DOS/Windows codepage codes
16d51a35
EZ
134cannot be supported directly. Instead, you should use one of the input
135methods provided in the Leim package.
daaf40c7 136@end itemize
6bf7aab6 137
6bf7aab6 138@item
16d51a35
EZ
139As you move back through time, some systems will become unimportant or
140enter the vaporware phase, so Emacs 20 does not support them:
daaf40c7
EZ
141
142@itemize @minus
143@item
16d51a35 144Emacs 20 cannot be built on GNU/Linux systems running on IA64 machines,
daaf40c7 145and you cannot build a 64-bit Emacs for SPARC/Solaris systems which
16d51a35 146support 64-bit executables.
daaf40c7
EZ
147
148@item
149LynxOS is also not supported.
150@end itemize
151
6bf7aab6 152@item
16d51a35
EZ
153The arrangement of menu bar items differs from most other @acronym{GUI}
154programs. We think that uniformity of look-and-feel is boring, and that
155Emacs' unique features require its unique menu-bar configuration.
daaf40c7 156
6bf7aab6 157@item
16d51a35
EZ
158You cannot save the options that you set from the @samp{Options}
159menu-bar menu; instead, you need to set all the options again each time
160you start a new session. However, if you follow the recommended
161practice and keep a single Emacs session running until you log out,
162you won't have to set the options very often.
daaf40c7 163
6bf7aab6 164@item
16d51a35
EZ
165Emacs 20 does not pop up a buffer with error messages when an error is
166signaled during loading of the user's init file. Instead, it simply
167announces the fact that an error happened. To know where in the init
168file was that, insert @code{(message "foo")} lines judiciously into the
169file and look for those messages in the @samp{*Messages*} buffer.
daaf40c7 170
6bf7aab6 171@item
16d51a35
EZ
172Some commands no longer treat Transient Mark mode specially. For
173example, @code{ispell} doesn't spell-check the region when Transient
174Mark mode is in effect and the mark is active; instead, it checks the
175current buffer. (Transient Mark mode is alien to the spirit of Emacs,
176so we are planning to remove it altogether in an earlier version.)
daaf40c7 177
6bf7aab6 178@item
16d51a35
EZ
179@kbd{C-down-mouse-3} does not show the mode-specific menu in Emacs 20
180when menu bar is not displayed.
6bf7aab6 181
daaf40c7 182@item
16d51a35
EZ
183For uniformity, @key{delete} function key in Emacs 20 works exactly like
184the @key{DEL} key, on both text-only terminals and window systems---it
185always deletes backward. This eliminates the inconsistency of Emacs 21,
186where the key labeled @key{delete} deletes forward when you are using a
187window system, and backward on a text-only terminals.
6bf7aab6 188
daaf40c7 189@item
16d51a35
EZ
190The ability to place backup files in special subdirectories (controlled
191by @code{backup-directory-alist}) has been eliminated. This makes
192finding your backup files much easier: they are always in the same
193directory as the original files.
6bf7aab6 194
daaf40c7
EZ
195@item
196Emacs no longer refuses to load Lisp files compiled by incompatible
16d51a35
EZ
197versions of Emacs, which may contain invalid byte-code. Instead,
198Emacs now dumps core when it encounters such byte-code. However, this
199is a rare occurrence, and it won't happen at all when all Emacs
200versions merge together, in the distant past.
201
202@item
203The @kbd{C-x 5 1} command has been eliminated. If you want to delete
204all the frames but the current one, delete them one by one instead.
205
206@item
207CC Mode now enforces identical values for some customizable options,
208such as indentation style, for better consistency. In particular, if
209you select an indentation style for Java, the same style is used
210for C and C@t{++} buffer as well.
6bf7aab6 211
daaf40c7 212@item
16d51a35
EZ
213Isearch does not highlight other possible matches; it shows only the
214current match, to avoid distracting your attention. @kbd{mouse-2} in
215the echo area during incremental search now signals an error, instead of
216inserting the current selection into the search string. But you can
217accomplish more or less the same job by typing @kbd{M-y}.
6bf7aab6
DL
218
219@item
16d51a35
EZ
220The ability to specify a port number when editing remote files with
221@code{ange-ftp} was removed. Instead, Emacs 20 provides undocumented
222features in the function @code{ange-ftp-normal-login} (@cite{Use the
223source, Luke!}) to specify the port.
6bf7aab6
DL
224
225@item
16d51a35
EZ
226Emacs 20 does not check for changing time stamps of remote files, since
227the old FTP programs you will encounter in the past could not provide
228the time stamp anyway. Windows-style FTP clients which output the
229@samp{^M} character at the end of each line get special handling from
230@code{ange-ftp} in Emacs 20, with unexpected results that should make
231your life more interesting.
6bf7aab6
DL
232
233@item
16d51a35
EZ
234Many complicated display features, including highlighting of
235mouse-sensitive text regions and popping up help strings for menu items,
236don't work in the MS-DOS version. Spelling doesn't work on MS-DOS,
237and Eshell doesn't exist, so there's no workable shell-mode, either.
238This fits the spirit of MS-DOS, which resembles a dumb character
239terminal.
6bf7aab6
DL
240
241@item
16d51a35
EZ
242The @code{woman} package has been removed, so Emacs users on non-Posix
243systems will need @emph{a real man} to read manual pages. (Users who
244are not macho can read the Info documentation instead.)
6bf7aab6
DL
245
246@item
16d51a35
EZ
247@code{recentf} has been removed, because we figure that you can remember
248the names of the files you edit frequently. With decreasing disk size,
249you should have fewer files anyway, so you won't notice the absence of
250this feature.
6bf7aab6
DL
251
252@item
16d51a35
EZ
253The @code{field} property does not exist in Emasc 20, so various
254packages that run subsidiary programs in Emacs buffers cannot in general
255distinguish which text was user input and which was output from the
256subprocess. If you need to try to do this nonetheless, Emacs 20
257provides a variable @code{comint-prompt-regexp}, which lets you try to
258distinguish input by recognizing prompt strings.
6bf7aab6 259
0772f3a3 260@item
16d51a35
EZ
261We have eliminated the special major modes for Delphi sources,
262PostScript files, context diffs, and @file{TODO} files. Use Fundamental
263Mode instead.
0772f3a3 264
6bf7aab6 265@item
16d51a35
EZ
266Many additional packages that unnecessarily complicate your life in
267Emacs 21 are absent in Emacs 20. You cannot browse C@t{++} classes with
268Ebrowse, access @acronym{SQL} data bases, access @acronym{LDAP} and
269other directory servers, or mix shell commands and Lisp functions using
270Eshell.
6bf7aab6
DL
271
272@item
daaf40c7 273To keep up with decreasing computer memory capacity and disk space, many
16d51a35 274other functions and files have been eliminated in Emacs 20.
6bf7aab6 275@end itemize