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