Commit | Line | Data |
---|---|---|
0a9482c5 RS |
1 | @c -*-texinfo-*- |
2 | @c This is part of the GNU Emacs Lisp Reference Manual. | |
8241495d | 3 | @c Copyright (C) 1999 Free Software Foundation, Inc. |
0a9482c5 | 4 | @c See the file elisp.texi for copying conditions. |
75952b80 | 5 | @node Antinews, Tips, System Interface, Top |
8241495d | 6 | @appendix Emacs 20 Antinews |
0a9482c5 RS |
7 | |
8 | For those users who live backwards in time, here is information about | |
8241495d RS |
9 | downgrading to Emacs version 20.4. We hope you will enjoy the greater |
10 | simplicity that results from the absence of many Emacs 21 features. In | |
11 | the following section, we carry this information back to Emacs | |
12 | 20.3, for which the previous printed edition of this manual was made. | |
0a9482c5 | 13 | |
8241495d | 14 | @section Old Lisp Features in Emacs 20 |
0a9482c5 RS |
15 | |
16 | @itemize @bullet | |
17 | @item | |
8241495d | 18 | The @code{push} and @code{pop} macros are not defined. |
0a9482c5 RS |
19 | |
20 | @item | |
8241495d RS |
21 | You can't display images in buffers. (Emacs is meant for editing text.) |
22 | With no images, there are no display margins, and no tool bars. | |
0a9482c5 | 23 | |
0a9482c5 | 24 | @item |
8241495d RS |
25 | The @code{display} text property has no special meaning; you can use it |
26 | freely in Lisp programs, with no effects except what you implement for | |
27 | yourself. With no images, who needs the @code{display} text property? | |
0a9482c5 | 28 | |
6b5c0a2e | 29 | @item |
77ba49d8 RS |
30 | The @code{field} text property has no special meaning; buffers are no |
31 | longer subdivided into fields. (The division of information into | |
32 | fields is always rather arbitrary.) | |
6b5c0a2e | 33 | |
0a9482c5 | 34 | @item |
8241495d RS |
35 | Faces have fewer attributes. The attributes @code{:family}, |
36 | @code{:height}, @code{:width}, @code{:weight}, and @code{:slant}, | |
37 | have been replaced with a font name, a ``bold'' flag, and an | |
38 | ``italic'' flag. | |
0a9482c5 | 39 | |
6b5c0a2e GM |
40 | The attributes @code{:overline}, @code{:strike-through} and @code{:box} |
41 | have been eliminated too. Underlining now always has the same color as | |
42 | the text---using any other color would be bad taste. | |
0a9482c5 | 43 | |
8241495d RS |
44 | With fewer font attributes, there are no functions |
45 | @code{set-face-attribute} and @code{face-attribute}. Instead, you | |
46 | access these attributes using functions such as @code{face-font}, and | |
47 | set them with functions such as @code{set-face-font}. (These functions | |
48 | were available in Emacs 21, but are not as useful there.) | |
0a9482c5 | 49 | |
8241495d | 50 | @item |
6b5c0a2e GM |
51 | The standard faces @code{scroll-bar}, @code{menu}, @code{border}, |
52 | @code{cursor}, and @code{mouse} have been eliminated. They are rather | |
53 | strange, as faces, and therefore shouldn't really exist. You can use | |
54 | @code{set-border-color}, @code{set-cursor-color} and | |
55 | @code{set-mouse-color} to specify the colors for the frame border, the | |
56 | text cursor, and the mouse cursor. To specify menu colors, use X | |
57 | resources. | |
58 | ||
59 | @item | |
60 | Emacs will respect your peace and quiet, aside from occasional beeps, | |
61 | because there are no facilities for playing sounds. | |
0a9482c5 | 62 | |
0a9482c5 | 63 | @item |
8241495d RS |
64 | Regular expressions do not support the POSIX character classes |
65 | such as @samp{[:alpha:]}. All characters are created equal. | |
0a9482c5 RS |
66 | |
67 | @item | |
8241495d | 68 | Hash tables have been eliminated; use alists instead. |
0a9482c5 RS |
69 | |
70 | @item | |
8241495d RS |
71 | The Lisp printer does not detect and report circular structure. That is |
72 | ok, because the Lisp reader cannot recreate circular structure anyway. | |
73 | However, there is a library @samp{cust-print.el} which can report | |
74 | circular structure. | |
0a9482c5 RS |
75 | |
76 | @item | |
8241495d RS |
77 | Emacs provides its own implementation of scroll bars, instead |
78 | of using those of the X toolkit. They always use the frame foreground | |
79 | and background colors, so you cannot specify different colors for | |
80 | the scroll bars. | |
0a9482c5 RS |
81 | |
82 | @item | |
8241495d RS |
83 | For simplicity, all ASCII characters now have the same height and width. |
84 | (Certain characters, such as Chinese characters, always have have twice | |
85 | the standard width.) All characters are created equal. | |
0a9482c5 | 86 | |
6b5c0a2e GM |
87 | @item |
88 | The function @code{bitmap-spec-p} has been renamed to | |
89 | @code{pixmap-spec-p} to encourage users to practice Emacs' help system | |
90 | while trying to find it. | |
91 | ||
0a9482c5 | 92 | @item |
8241495d | 93 | Tooltips operate using ordinary Emacs frames. |
0a9482c5 RS |
94 | |
95 | @item | |
8241495d RS |
96 | Areas of the mode line are not mouse-sensitive; however, some mouse |
97 | commands are available for the mode line as a whole. | |
0a9482c5 RS |
98 | |
99 | @item | |
8241495d RS |
100 | Windows cannot have header lines. Conversely, there is no way to turn |
101 | off the mode line of a window unless it is a minibuffer. | |
0a9482c5 RS |
102 | |
103 | @item | |
8241495d | 104 | Plain dashes are the only separators you can use in a menu. |
0a9482c5 | 105 | |
8241495d RS |
106 | @item |
107 | Vertical fractional scrolling does not exist. | |
0a9482c5 | 108 | |
574efc83 | 109 | @item |
8241495d RS |
110 | The functions @code{format} and @code{message} ignore and discard text |
111 | properties. | |
0a9482c5 | 112 | |
574efc83 | 113 | @item |
8241495d RS |
114 | Colors are supported only on window systems, not on text-only terminals. |
115 | So the support functions for colors on text-only terminals are | |
6b5c0a2e | 116 | not needed, and have been eliminated. |
0a9482c5 | 117 | |
574efc83 | 118 | @item |
8241495d RS |
119 | The functions @code{color-values}, @code{color-defined-p} and |
120 | @code{defined-colors} have been renamed to @code{x-color-values}, | |
121 | @code{x-color-defined-p} and @code{x-defined-colors}. | |
0a9482c5 | 122 | |
0a9482c5 | 123 | @item |
8241495d RS |
124 | Windows cannot be made fixed-width or fixed-height; |
125 | Emacs will adjust the size of all windows when it needs to. | |
0a9482c5 | 126 | |
a40d4712 PR |
127 | @item |
128 | The string used as the value of the @code{before-string} or | |
129 | @code{after-string} property must contain only characters that display | |
130 | as a single column---control characters, including tabs and newlines, | |
131 | will give strange results. | |
132 | ||
0a9482c5 | 133 | @item |
8241495d RS |
134 | The minibuffer prompt does not actually appear in content of the |
135 | minibuffer; it is displayed specially in the minibuffer window. | |
0a9482c5 RS |
136 | |
137 | @item | |
8241495d RS |
138 | The ``exclusive open'' feature of @code{write-region} |
139 | has been eliminated; any non-@code{nil} value for the seventh | |
140 | argument now means to ask the user for confirmation. | |
0a9482c5 | 141 | |
ec221d13 | 142 | @item |
8241495d RS |
143 | The function @code{buffer-size} always reports on the |
144 | current buffer. | |
0a9482c5 | 145 | |
ec221d13 | 146 | @item |
8241495d RS |
147 | The function @code{assoc-delete-all} has itself been deleted. |
148 | So there! | |
0a9482c5 RS |
149 | |
150 | @item | |
8241495d RS |
151 | The variable @code{small-temporary-file-directory} has no special |
152 | meaning. There's only one variable for specifying which directory to | |
153 | use for temporary files, @code{temporary-file-directory}, but not all | |
154 | Emacs features use it anyway. Some use the @code{TMP} environment | |
155 | variable, and some use the @code{TMPDIR} environment variable. | |
0a9482c5 RS |
156 | |
157 | @item | |
fcad2463 RS |
158 | If the second argument of @code{save-some-buffers}, @var{pred}, is not |
159 | @code{nil}, then the precise value no longer matters. Any | |
160 | non-@code{nil} value means the same as @code{t}: offer to save each | |
161 | non-file buffer that has a non-@code{nil} value for | |
162 | @code{buffer-offer-save}. | |
163 | ||
164 | @item | |
165 | The variable @code{inhibit-modification-hooks} | |
8241495d | 166 | has no special meaning. |
0a9482c5 | 167 | |
969fe9b5 | 168 | @item |
8241495d RS |
169 | The hook @code{fontification-functions} has been eliminated, |
170 | but there are other hooks, such as @code{window-scroll-functions}, | |
171 | that you can use to do a similar job. | |
969fe9b5 | 172 | |
0a9482c5 | 173 | @item |
8241495d RS |
174 | The variable @code{redisplay-dont-pause} |
175 | has no special meaning. | |
0a9482c5 RS |
176 | |
177 | @item | |
8241495d | 178 | The hook @code{calendar-move-hook} has been deleted. |
0a9482c5 RS |
179 | |
180 | @item | |
8241495d RS |
181 | The function @code{move-to-column} treats any non-@code{nil} |
182 | second argument just like @code{t}. | |
0a9482c5 RS |
183 | @end itemize |
184 | ||
8241495d | 185 | @section Old Lisp Features in Emacs 20.3 |
0a9482c5 | 186 | |
8241495d RS |
187 | Here are the most important of the features that you will learn |
188 | to do without in Emacs 20.3: | |
0a9482c5 | 189 | |
8241495d | 190 | Here are changes in the Lisp language itself: |
0a9482c5 | 191 | |
8241495d | 192 | @itemize @bullet |
0a9482c5 | 193 | @item |
8241495d RS |
194 | The functions @code{line-beginning-position} and @code{line-end-position} |
195 | have been eliminated. | |
0a9482c5 RS |
196 | |
197 | @item | |
8241495d RS |
198 | The functions @code{directory-files-and-attributes}, |
199 | @code{file-attributes-lessp}, and @code{file-expand-wildcards}, have | |
200 | been eliminated. | |
0a9482c5 RS |
201 | |
202 | @item | |
8241495d RS |
203 | The functions @code{decode-coding-region} and @code{encode-coding-region} |
204 | leave text properties untouched, in case that is useful. (It rarely makes | |
205 | any sense, though.) | |
0a9482c5 RS |
206 | |
207 | @item | |
8241495d RS |
208 | The functions @code{position-bytes} and @code{byte-to-position} have |
209 | been eliminated. | |
0a9482c5 RS |
210 | |
211 | @item | |
8241495d RS |
212 | Temporary buffers made with @code{with-output-to-temp-buffer} are now |
213 | modifiable by default, and use Fundamental mode rather than Help mode. | |
0a9482c5 RS |
214 | |
215 | @item | |
8241495d RS |
216 | The functions @code{sref} interprets its @var{index} argument as a |
217 | number of bytes, not a number of characters. And the function | |
218 | @code{char-bytes} actually tries to report on the number of bytes that a | |
219 | character occupies. | |
0a9482c5 | 220 | |
574efc83 | 221 | @item |
8241495d | 222 | The function @code{process-running-child-p} has been eliminated. |
0a9482c5 | 223 | |
574efc83 | 224 | @item |
8241495d RS |
225 | The function @code{interrupt-process} and similar functions no longer do |
226 | anything special when the second argument is @code{lambda}. | |
0a9482c5 | 227 | |
574efc83 | 228 | @item |
8241495d | 229 | The function @code{define-prefix-command} accepts only two arguments. |
0a9482c5 | 230 | |
574efc83 | 231 | @item |
8241495d RS |
232 | The meaning of the second argument to @code{read-char}, |
233 | @code{read-event}, and @code{read-char-exclusive} has been reversed: | |
234 | they use the current input method if the argument is if @code{nil}. | |
0a9482c5 | 235 | |
0a9482c5 | 236 | @item |
8241495d | 237 | The function @code{with-temp-message} has been eliminated. |
0a9482c5 RS |
238 | |
239 | @item | |
8241495d | 240 | The function @code{clear-this-command-keys} has been eliminated. |
0a9482c5 RS |
241 | |
242 | @item | |
8241495d | 243 | The functions @code{gap-position} and @code{gap-size} have been eliminated. |
0a9482c5 RS |
244 | |
245 | @item | |
8241495d RS |
246 | In @code{modify-face}, an argument of @code{(nil)} has no special |
247 | meaning. | |
0a9482c5 RS |
248 | |
249 | @item | |
8241495d | 250 | The base64 conversion functions have been eliminated. |
0a9482c5 RS |
251 | |
252 | @item | |
8241495d RS |
253 | Wildcard support has been eliminated from @code{find-file} |
254 | and allied functions. | |
0a9482c5 RS |
255 | |
256 | @item | |
8241495d RS |
257 | @code{file-attributes} returns the file size and the file inode number |
258 | only as a simple integer. | |
0a9482c5 | 259 | @end itemize |