Commit | Line | Data |
---|---|---|
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 |
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. | |
6bf7aab6 DL |
11 | |
12 | @itemize @bullet | |
13 | @item | |
16d51a35 EZ |
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: | |
6bf7aab6 | 17 | |
daaf40c7 | 18 | @itemize @minus |
6bf7aab6 | 19 | @item |
16d51a35 | 20 | Variable-size characters are not supported in Emacs 20. You cannot use |
b8f86df3 | 21 | fonts which contain oversized characters, and using italic fonts can |
fa5561b5 | 22 | result in illegible display. However, text which uses variable-size |
b8f86df3 | 23 | fonts is unreadable anyway. With all characters in a frame laid out on |
16d51a35 EZ |
24 | a regular grid, each character having the same height and width, text is |
25 | much easier to read. | |
6bf7aab6 DL |
26 | |
27 | @item | |
16d51a35 EZ |
28 | Emacs does not display images, or play sounds. It just displays text, |
29 | as you would expect from a @strong{text} editor. | |
6bf7aab6 | 30 | |
0772f3a3 | 31 | @item |
16d51a35 EZ |
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 | |
389645fd | 36 | removed, so no one can accumulate ``too much face.'' |
0772f3a3 EZ |
37 | |
38 | @item | |
9b3ae7e4 RS |
39 | Several face appearance attributes, including 3D, strike-through, and |
40 | overline, have been eliminated. | |
0772f3a3 | 41 | |
6bf7aab6 | 42 | @item |
fa5561b5 | 43 | Emacs now provides its own ``lean and mean'' scroll bars instead of using |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
48 | |
49 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
56 | |
57 | @item | |
7ff28486 | 58 | Colors are not available on text-only terminals. If you @emph{must} |
9b3ae7e4 | 59 | have colors, but cannot afford to run X, you can now use the MS-DOG |
16d51a35 | 60 | version of Emacs inside a DOS emulator. |
6bf7aab6 DL |
61 | |
62 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
67 | |
68 | @item | |
c9a84c34 | 69 | The support for ``wheeled'' mice under X has been removed, because |
9b3ae7e4 | 70 | of their slow scroll rate, and because you will find fewer and fewer of |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
81 | |
82 | @item | |
daaf40c7 | 83 | Some aspects of Emacs appearance, such as the colors of the scroll bar |
16d51a35 | 84 | and the menus, can only be controlled via X resources. Since colors |
9b3ae7e4 | 85 | aren't supported except on X, it doesn't make any sense to do this in |
16d51a35 EZ |
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. | |
6bf7aab6 | 88 | |
189a47e4 RS |
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 | ||
6bf7aab6 | 93 | @item |
16d51a35 EZ |
94 | The variable @code{show-trailing-whitespace} has no special meaning, so |
95 | trailing whitespace on a line is now always displayed correctly: as | |
47d7776c | 96 | empty space. To see if a line ends with spaces or tabs, type @kbd{C-e} |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
99 | |
100 | @item | |
16d51a35 EZ |
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. | |
daaf40c7 | 104 | @end itemize |
6bf7aab6 DL |
105 | |
106 | @item | |
16d51a35 | 107 | Emacs 20 has simpler support for multi-lingual editing. While not as |
dd4e58c7 | 108 | radical a simplification as Emacs 19 will be, it goes a long way toward |
16d51a35 | 109 | eliminating some of the annoying features: |
6bf7aab6 | 110 | |
daaf40c7 | 111 | @itemize @minus |
6bf7aab6 | 112 | @item |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
116 | |
117 | @item | |
daaf40c7 EZ |
118 | To avoid extra confusion, many language environments have been |
119 | eliminated. For example, @samp{Polish} and @samp{Celtic} (Latin-8) | |
16d51a35 EZ |
120 | environments are not supported. The Latin-9 environment is gone, |
121 | too, because you won't need the Euro sign in the past. | |
6bf7aab6 DL |
122 | |
123 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 | 127 | |
6bf7aab6 | 128 | @item |
daaf40c7 EZ |
129 | Commands which provide detailed information about character sets and |
130 | coding systems, such as @code{list-charset-chars}, | |
16d51a35 | 131 | @code{describe-character-set}, and the @kbd{C-u C-x =} key-sequence, |
bb61b038 | 132 | no longer exist. The less said about non-ASCII characters, the |
16d51a35 | 133 | better. |
6bf7aab6 DL |
134 | |
135 | @item | |
daaf40c7 EZ |
136 | The terminal coding system cannot be set to something CCL-based, so |
137 | keyboards which produce @code{KOI8} and DOS/Windows codepage codes | |
16d51a35 EZ |
138 | cannot be supported directly. Instead, you should use one of the input |
139 | methods provided in the Leim package. | |
daaf40c7 | 140 | @end itemize |
6bf7aab6 | 141 | |
6bf7aab6 | 142 | @item |
16d51a35 EZ |
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: | |
daaf40c7 EZ |
145 | |
146 | @itemize @minus | |
147 | @item | |
16d51a35 | 148 | Emacs 20 cannot be built on GNU/Linux systems running on IA64 machines, |
c9a84c34 DL |
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. | |
daaf40c7 EZ |
151 | |
152 | @item | |
c9a84c34 DL |
153 | LynxOS is also not supported, and neither is the Macintosh, though they |
154 | still exist. | |
daaf40c7 EZ |
155 | @end itemize |
156 | ||
6bf7aab6 | 157 | @item |
16d51a35 EZ |
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. | |
daaf40c7 | 161 | |
6bf7aab6 | 162 | @item |
16d51a35 EZ |
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. | |
daaf40c7 | 168 | |
6bf7aab6 | 169 | @item |
16d51a35 EZ |
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 | |
9b3ae7e4 | 173 | file that was, insert @code{(message "foo")} lines judiciously into the |
16d51a35 | 174 | file and look for those messages in the @samp{*Messages*} buffer. |
daaf40c7 | 175 | |
6bf7aab6 | 176 | @item |
16d51a35 EZ |
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.) | |
daaf40c7 | 182 | |
6bf7aab6 | 183 | @item |
cdc6fb31 | 184 | @kbd{C-Down-Mouse-3} does not show what would be in the menu bar |
c9a84c34 | 185 | when the menu bar is not displayed. |
6bf7aab6 | 186 | |
daaf40c7 | 187 | @item |
fa5561b5 | 188 | For uniformity, the @key{delete} function key in Emacs 20 works exactly like |
16d51a35 EZ |
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. | |
6bf7aab6 | 193 | |
daaf40c7 | 194 | @item |
16d51a35 EZ |
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. | |
6bf7aab6 | 199 | |
daaf40c7 EZ |
200 | @item |
201 | Emacs no longer refuses to load Lisp files compiled by incompatible | |
16d51a35 EZ |
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 | |
fa5561b5 | 215 | for C and C@t{++} buffers as well. |
6bf7aab6 | 216 | |
daaf40c7 | 217 | @item |
16d51a35 | 218 | Isearch does not highlight other possible matches; it shows only the |
cdc6fb31 | 219 | current match, to avoid distracting your attention. @kbd{Mouse-2} in |
16d51a35 EZ |
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}. | |
6bf7aab6 DL |
223 | |
224 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
229 | |
230 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
237 | |
238 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
245 | |
246 | @item | |
16d51a35 EZ |
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.) | |
6bf7aab6 DL |
250 | |
251 | @item | |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
256 | |
257 | @item | |
f8ca728a | 258 | The @code{field} property does not exist in Emacs 20, so various |
16d51a35 EZ |
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. | |
6bf7aab6 | 264 | |
0772f3a3 | 265 | @item |
16d51a35 EZ |
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. | |
0772f3a3 | 269 | |
6bf7aab6 | 270 | @item |
16d51a35 EZ |
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. | |
6bf7aab6 DL |
276 | |
277 | @item | |
daaf40c7 | 278 | To keep up with decreasing computer memory capacity and disk space, many |
16d51a35 | 279 | other functions and files have been eliminated in Emacs 20. |
6bf7aab6 | 280 | @end itemize |