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