Mercurial > emacs
annotate lispref/anti.texi @ 7732:b99162ca5247
(build-mail-aliases): Handle source directives.
Handle MAILRC envvar.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 28 May 1994 13:06:55 +0000 |
parents | c5927c75b2b5 |
children | 2d4db32cccd5 |
rev | line source |
---|---|
6380 | 1 @c -*-texinfo-*- |
2 @c This is part of the GNU Emacs Lisp Reference Manual. | |
3 @c Copyright (C) 1993 Free Software Foundation, Inc. | |
4 @c See the file elisp.texi for copying conditions. | |
5 @node Antinews, Index, Standard Hooks, Top | |
6 @appendix Emacs 18 Antinews | |
7 | |
8 For those users who live backwards in time, here is information about | |
9 downgrading to Emacs version 18. We hope you will enjoy the greater | |
10 simplicity that results from the absence of many Emacs 19 features. | |
11 | |
12 @section Old Features in the Lisp Language | |
13 | |
14 The following functions are missing or different in Emacs version 18. | |
15 | |
16 @itemize @bullet | |
17 @item | |
18 The functions @code{delete}, @code{member}, @code{indirect-function}, | |
19 @code{map-y-or-n-p}, and @code{invocation-name} have been removed. | |
20 | |
21 @item | |
22 The function @code{read} now skips a terminator character that | |
23 terminates a symbol when reading from a buffer. Thus, if you use | |
24 @code{read} on a buffer containing @samp{foo(bar)} following point, it | |
25 returns @code{foo} and leaves point after the open-parenthesis. This | |
26 means there's no way you can properly read the list @samp{(bar)}, but | |
27 that's the way the cookie crumbles. | |
28 | |
29 Because of this simplification, it's no longer necessary for an input | |
30 stream function to accept an optional argument. In Emacs 18, an input | |
31 stream is always called with no arguments, and should always return | |
32 the next character of input. | |
33 | |
34 @item | |
35 The function @code{documentation} takes just one argument; | |
36 @code{documentation-property} takes just two. | |
37 | |
38 @item | |
39 @code{random} no longer has the optional argument @var{n}. | |
40 | |
41 @item | |
42 You can no longer arrange to run a hook if a particular Lisp library is | |
43 loaded. The variable @code{after-load-alist} and the function | |
44 @code{eval-after-load} have been removed. | |
45 | |
46 @item | |
47 The function @code{autoload} no longer supports autoloading a keymap. | |
48 | |
49 @item | |
50 ``Magic'' comments of the form @samp{;;;###autoload} are now just | |
51 comments. They don't do anything in particular except look pretty. | |
52 If you want a function to be autoloaded by default, edit @file{loaddefs.h} | |
53 by hand. What do you think editors are for? | |
54 | |
55 @item | |
56 We took out the @samp{%S} from the @code{format} function, and the | |
57 optional argument @var{noescap} from @code{prin1-to-string}. We removed | |
58 the @code{print-level} variable. | |
59 @end itemize | |
60 | |
61 @section Compilation Features | |
62 | |
63 @itemize @bullet | |
64 @item | |
65 Inline functions are nonexistent in Emacs 18. We find they make the | |
66 calling function unnecessarily large. (Small size is one of the | |
67 features of Emacs 18.) | |
68 | |
69 @item | |
70 We eliminated the two special forms, @code{eval-when-compile} and | |
71 @code{eval-and-compile}, as well as the @code{compile-defun} command. | |
72 | |
73 @item | |
74 When you load a Lisp file or library, you will no longer receive a | |
75 warning if the directory contains both a @samp{.elc} file and a new | |
76 @samp{.el} file that is newer. So be on your toes. | |
77 | |
78 @item | |
79 We removed the special data type for byte-code functions. Compiled | |
80 functions now work by means of an interpreted function which calls | |
81 the function @code{bytecode}. That function runs the byte code | |
82 interpreter. | |
83 @end itemize | |
84 | |
85 @section Floating Point Numbers | |
86 | |
87 Emacs 18 doesn't have or need floating point arithmetic built in. | |
88 It has a handy Lisp program that allows you to emulate floating point. | |
89 You'll have to write programs specially to use it, though. | |
90 | |
91 As a result, certain macros, functions, and predicates no longer handle | |
92 specifications for floating point numbers. | |
93 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
94 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
95 @item |
6380 | 96 The function @code{string-to-number}, the predicate @code{floatp}, and |
97 the variable @code{float-output-format} have all been eliminated. | |
98 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
99 @item |
6380 | 100 The functions @code{float}, @code{truncate}, @code{floor}, @code{ceil}, |
101 @code{round}, and @code{logb} do not exist; neither do the functions | |
102 @code{abs}, @code{cos}, @code{sin}, @code{tan}, @code{acos}, | |
103 @code{asin}, @code{atan}, @code{exp}, @code{expt}, @code{log10}, | |
104 @code{log}, or @code{sqrt}. | |
105 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
106 @item |
6380 | 107 The @code{format} function no longer handles the specifications |
108 @samp{%e}, @samp{%f} and @samp{%g} for printing floating point numbers; | |
109 likewise for @code{message}. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
110 @end bullet |
6380 | 111 |
112 @section Changes in Basic Editing Functions | |
113 | |
114 @itemize @bullet | |
115 @item | |
116 @code{kill-new} and @code{kill-append}, the primitives for putting text | |
117 in the kill ring, have been eliminated. | |
118 @c @code{kill-append} seems to exist as a non-documented (no doc string) | |
119 @c primitive in emacs 18. but news.texi said it was new for 19. | |
120 | |
121 @item | |
122 The variables @code{interprogram-paste-function} and | |
123 @code{interprogram-cut-function} have been removed in Emacs 18. | |
124 | |
125 In addition, there's no need for @code{mark-active} and | |
126 @code{deactivate-mark} because there is no Transient Mark mode. We also | |
127 removed the hooks @code{activate-mark-hook} and | |
128 @code{deactivate-mark-hook}. | |
129 | |
130 @item | |
131 The @code{kill-region} function can no longer be used in read-only | |
132 buffers. The @code{compare-buffer-substrings} and @code{current-kill} | |
133 functions have been removed. | |
134 | |
135 @item | |
136 The variable @code{overwrite-mode-binary} has been removed. | |
137 | |
138 @item | |
139 The function @code{move-to-column} allows just one argument, | |
140 @var{column}. | |
141 | |
142 @item | |
143 The search functions now just return @code{t} when successful. This | |
144 affects the functions @code{search-forward}, @code{search-backward}, | |
145 @code{word-search-forward}, @code{word-search-backward}, | |
146 @code{re-search-forward}, and @code{re-search-backward}. | |
147 | |
148 @item | |
149 When you do regular expression searching or matching, there is a fixed | |
150 limit of ten @samp{\(@dots{}\)} pairs that you can get information about | |
151 with @code{match-beginning} and @code{match-end}. Moreover, | |
152 @code{save-match-data} does not exist; you must use an explicit | |
153 @code{unwind-protect} to save the match data. | |
154 | |
155 @item | |
156 @code{translate-region} is gone. | |
157 | |
158 @item | |
159 The variables @code{before-change-function}, | |
160 @code{after-change-function}, and @code{first-change-hook} have been | |
161 eliminated. | |
162 | |
163 @item | |
164 The second argument to @code{insert-abbrev-table-description} is no | |
165 longer optional. | |
166 @end itemize | |
167 | |
168 @section Text Properties | |
169 | |
170 We eliminated text properties. | |
171 | |
172 @section Features for Files | |
173 | |
174 Many file-related functions have been eliminated or simplified. Here is | |
175 a basic listing of these functions. | |
176 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
177 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
178 @item |
6380 | 179 The functions @code{file-accessible-directory-p}, @code{file-truename}, |
180 @code{make-directory}, @code{delete-directory}, | |
181 @code{set-visited-file-modtime}, @code{directory-abbrev-alist}, | |
182 @code{abbreviate-file-name}, @code{write-region}, | |
183 @code{write-contents-hooks}, @code{after-save-hook}, | |
184 @code{set-default-file-modes}, @code{default-file-modes}, and | |
185 @code{unix-sync} have been eliminated. | |
186 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
187 @item |
6380 | 188 We got rid of the ``initial file name'' argument to |
189 @code{read-file-name}. | |
190 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
191 @item |
6380 | 192 Additionally, we removed the 12th element from the list returned by |
193 @code{file-attributes}. | |
194 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
195 @item |
6380 | 196 @code{directory-files} always sorts the list of files. It's not user |
197 friendly to process the files in any haphazard order. | |
198 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
199 @item |
6380 | 200 We eliminated the variables @code{write-contents-hooks} and |
201 @code{local-write-file-hooks}. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
202 @end bullet |
6380 | 203 |
204 @section Making Certain File Names ``Magic'' | |
205 | |
206 There are no more magic filenames. Sorry, but all the mana has been | |
207 used up. | |
208 | |
209 @section Frames | |
210 | |
211 There is only one frame in Emacs 18, so all of the frame functions have | |
212 been eliminated. | |
213 | |
214 @section X Window System Features | |
215 | |
216 We have simplified the way Emacs and X interact by removing a great deal | |
217 of creeping featurism. | |
218 | |
219 @itemize @bullet | |
220 @item | |
221 The functions @code{mouse-position} and @code{set-mouse-position}, and | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
222 the special form @code{track-mouse}, have been eliminated. |
6380 | 223 |
224 @item | |
225 Likewise, the functions @code{x-set-selection}, @code{x-set-cut-buffer}, | |
226 @code{x-close-current-connection}, and @code{x-open-connection} have all | |
227 been removed from Emacs Lisp 18. | |
228 | |
229 @item | |
230 We removed a series of functions that gave information about the X | |
231 server and the screen you were using; after all, the whole point of X is | |
232 that all servers are equivalent. The names of the removed functions | |
233 are: @code{x-display-screens}, @code{x-server-version}, | |
234 @code{x-server-vendor}, @code{x-display-pixel-height}, | |
235 @code{x-display-mm-height}, @code{x-display-pixel-width}, | |
236 @code{x-display-mm-width}, @code{x-display-backing-store}, | |
237 @code{x-display-save-under}, @code{x-display-planes}, | |
238 @code{x-display-visual-class}, @code{x-display-color-p}, and | |
239 @code{x-display-color-cells}. | |
240 | |
241 Additionally, we removed the variable @code{x-no-window-manager} and the | |
242 functions @code{x-synchronize} and @code{x-get-resource}. | |
243 | |
244 We didn't abolish @code{x-display-color-p}, but we renamed it to | |
245 @code{x-color-display-p}. We did abolish @code{x-color-defined-p}. | |
246 | |
247 @item | |
248 @code{x-popup-menu} no longer accepts a keymap for its first argument. | |
249 | |
250 @item | |
251 We removed both the function @code{x-rebind-key} and the related | |
252 function @code{x-rebind-keys}. | |
253 | |
254 @item | |
255 We abolished @code{x-parse-geometry}. | |
256 @end itemize | |
257 | |
258 @section Window Actions that Were No Longer Useful | |
259 | |
260 Various behaviors of windows in Emacs 19 were obsolete by the time Emacs | |
261 18 was due to come out. We have removed them. These changes are listed | |
262 below. | |
263 | |
264 @itemize @bullet | |
265 @item | |
266 We removed the functions @code{window-at}, @code{window-minibuffer-p}, | |
267 @code{set-window-dedicated-p}, @code{coordinates-in-window-p}, | |
268 @code{walk-windows}, @code{window-dedicated-p}, and @code{window-end}. | |
269 | |
270 @item | |
271 We removed the variables @code{pop-up-frames}, | |
272 @code{pop-up-frame-function}, @code{display-buffer-function}, and | |
273 @code{other-window-scroll-buffer}. | |
274 | |
275 @item | |
276 The function @code{minibuffer-window} no longer accepts a frame as | |
277 argument, since frames as objects do not exist in Emacs version 18. It | |
278 returns the window used for minibuffers. | |
279 | |
280 @item | |
281 The functions @code{next-window} and @code{previous-window} no longer | |
282 accept the @var{all-frames} argument since there is just one frame. | |
283 | |
284 @item | |
285 The functions @code{get-lru-window}, @code{get-largest-window}, | |
286 @code{get-buffer-window}, and @code{get-buffer-window} also no longer | |
287 take the optional argument @var{all-frames} because there is just one | |
288 frame to search. | |
289 @end itemize | |
290 | |
291 @section Display Features | |
292 | |
293 @itemize @bullet | |
294 @item | |
295 There are no overlays, and no faces. | |
296 | |
297 @item | |
298 We eliminated the mode line spec @samp{%l} that in later versions used | |
299 to display the current line number. We removed the variables | |
300 @code{line-number-mode} and @code{line-number-display-limit}. | |
301 | |
302 @item | |
303 @code{baud-rate} is now a function rather than a variable. | |
304 | |
305 @item | |
306 You can no longer call @code{message} with @code{nil} as the only | |
307 argument; therefore, you can not reliably make the contents of the | |
308 minibuffer visible. | |
309 | |
310 @item | |
311 The variable @code{temp-buffer-show-function} has been renamed | |
312 @code{temp-buffer-show-hook}. | |
313 | |
314 @item | |
315 We removed the function @code{force-mode-line-update}. Use | |
316 the following idiom instead: | |
317 | |
318 @example | |
319 (set-buffer-modified-p (buffer-modified-p)) | |
320 @end example | |
321 | |
322 @item | |
323 Display tables no longer exist. We know what the @sc{ASCII} characters | |
324 should look like, and we made them look that way. | |
325 @end itemize | |
326 | |
327 @section Working with Input Events | |
328 | |
329 The big news about input events is that we got rid of function key | |
330 and mouse events. Now the only input events are characters. | |
331 What's more, these characters now have to be in the range of 0 to 127, | |
332 optionally with a meta bit. This makes for big simplifications. | |
333 | |
334 @itemize @bullet | |
335 @item | |
336 Functions like @code{define-key}, @code{global-set-key}, | |
337 @code{read-key-sequence}, and @code{local-set-key} used to accept | |
338 strings or vectors in Emacs 19; now they only accept strings. | |
339 | |
340 @item | |
341 The documentation functions (@code{single-key-description}, | |
342 @code{key-description}, etc.) also no longer accept vectors, but they do | |
343 accept strings. | |
344 | |
345 @item | |
346 We removed the @code{read-event}, @code{event-start}, | |
347 @code{posn-window}, @code{posn-point}, @code{posn-col-row}, | |
348 @code{posn-timestamp}, @code{scroll-bar-scale}, and @code{event-end} | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
349 functions, since they were useful only for non-character events. |
6380 | 350 |
351 @item | |
352 We removed the @code{unread-command-events} and @code{last-event-frame} | |
353 variables. | |
354 | |
355 @item | |
356 The functions @code{this-command-keys} and @code{recent-keys} now always | |
357 return a string. Likewise, a keyboard macro's definition can only be a | |
358 string, not a vector. | |
359 | |
360 @item | |
361 We eliminated @samp{e} as an interactive specification since it | |
362 was useful only with non-character events. | |
363 | |
364 @item | |
365 In Emacs 18, we represent Meta characters as character objects with the | |
366 same encoding used in strings: 128 plus the corresponding non-Meta | |
367 @sc{ASCII} character. | |
368 @end itemize | |
369 | |
370 @section Menus | |
371 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
372 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
373 @item |
6380 | 374 You can no longer define menus as keymaps; good system design requires |
375 crafting a special-purpose interface for each facility, so it can | |
376 precisely fit the requirements of that facility. We decided that | |
377 unifying keymaps and menus was simply too much of a strain. | |
378 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
379 @item |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
380 In Emacs 18, you can activate menus only with the mouse. Using them |
6380 | 381 with a keyboard was too confusing for too many users. |
382 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
383 @item |
6380 | 384 Emacs 18 has no menu bars. All functions and variables related to the |
385 menu bar have been eliminated. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
386 @end bullet |
6380 | 387 |
388 @section Changes in Minibuffer Features | |
389 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
390 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
391 @item |
6380 | 392 The minibuffer history feature has been eliminated. Thus, we removed |
393 the optional argument @var{hist} from the minibuffer input functions | |
394 @code{read-from-minibuffer} and @code{completing-read}. | |
395 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
396 @item |
6380 | 397 The @var{initial} argument to @code{read-from-minibuffer} and other |
398 minibuffer input functions can no longer be a cons cell | |
399 @code{(@var{string} . @var{position})}. | |
400 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
401 @item |
6380 | 402 In the function @code{read-no-blanks-input}, the @var{initial} argument |
403 is no longer optional. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
404 @end bullet |
6380 | 405 |
406 @section New Features for Defining Commands | |
407 | |
408 @itemize @bullet | |
409 @item | |
410 The special meaning of @samp{@@} in an interactive specification has | |
411 been eliminated. | |
412 | |
413 @item | |
414 Emacs 18 does not support use of format-style @samp{%}-sequences in the | |
415 prompt strings in interactive specifications. | |
416 | |
417 @item | |
418 The property @code{enable-recursive-minibuffers} no longer has any | |
419 special meaning. | |
420 @end itemize | |
421 | |
422 @section Removed Features for Reading Input | |
423 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
424 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
425 @item |
6380 | 426 We removed the third argument (@var{meta}) from the function |
427 @code{set-input-mode}. Consequently, we added the variable | |
428 @code{meta-flag}; set it to @code{t} to enable use of a Meta key, and | |
429 to @code{nil} to disable it. (Those are the only two alternatives.) | |
430 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
431 @item |
6380 | 432 We also removed the variable @code{extra-keyboard-modifiers}. |
433 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
434 @item |
6380 | 435 We removed the function @code{keyboard-translate} and the variables |
436 @code{num-input-keys} and @code{function-key-map}. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
437 @end itemize |
6380 | 438 |
439 @section Removed Syntax Table Features | |
440 | |
441 @itemize @bullet | |
442 @item | |
443 We eliminated the functions @code{skip-syntax-forward}, | |
444 @code{skip-syntax-backward}, @code{forward-comment}. | |
445 | |
446 @item | |
447 We removed the syntax flag for ``prefix syntax'' and the flag for the | |
448 alternate comment style. Emacs 18 supports only one style of comment | |
449 in any given syntax table. | |
450 | |
451 @item | |
452 We abolished the variable @code{words-include-escapes}. | |
453 @end itemize | |
454 | |
455 @section The Case Table | |
456 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
457 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
458 @item |
6380 | 459 Case tables do not exist in Emacs 18. Due to this change, we have |
460 removed the associated functions @code{set-standard-case-table}, | |
461 @code{standard-case-table}, @code{current-case-table}, | |
462 @code{set-case-table}, and @code{set-case-syntax-pair}. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
463 @end itemize |
6380 | 464 |
465 @section Features for Dealing with Buffers | |
466 | |
467 @itemize @bullet | |
468 @item | |
469 We eliminated several functions for dealing with buffers: | |
470 @code{buffer-modified-tick} and @code{generate-new-buffer-name}. | |
471 | |
472 @item | |
473 We renamed @code{buffer-disable-undo} to @code{buffer-flush-undo}---a | |
474 more picturesque name, you will agree. | |
475 | |
476 @item | |
477 The function @code{other-buffer} takes just one argument in Emacs 18. | |
478 | |
479 @item | |
480 The function @code{rename-buffer} now requires you to specify precisely | |
481 the new name you want. | |
482 | |
483 @item | |
484 We removed the local variable @code{list-buffers-directory}. | |
485 | |
486 @item | |
487 We got rid of the hook @code{kill-buffer-hook}. | |
488 @end itemize | |
489 | |
490 @section Local Variables Features | |
491 | |
492 @itemize @bullet | |
493 @item | |
494 The function @code{kill-all-local-variables} always eliminates all | |
495 buffer-local variables of the current buffer. No more exceptions. | |
496 | |
497 @item | |
498 Making a variable buffer-local when it is void now sets it to | |
499 @code{nil}. | |
500 | |
501 @item | |
502 We eliminated the functions @code{default-boundp}, because it is no | |
503 longer possible for the default binding of a variable to be void. | |
504 | |
505 @item | |
506 The special forms @code{defconst} and @code{defvar} now set the | |
507 variable's local value rather than its default value when the variable | |
508 is local in the current buffer. | |
509 @end itemize | |
510 | |
511 @section Features for Subprocesses | |
512 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
513 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
514 @item |
6380 | 515 @code{call-process} and @code{call-process-region} no longer indicate |
516 the termination status of the subprocess. We call on users to have faith | |
517 that the subprocess executed properly. | |
518 | |
519 @item | |
520 The standard asynchronous subprocess features do not work on VMS; | |
521 instead, special VMS asynchronous subprocess functions have been added. | |
522 Since they are only for VMS, we can't be bothered documenting them; | |
523 sorry. Use the source, Luke! | |
524 | |
525 @item | |
526 The function @code{signal-process} has been removed. | |
527 | |
528 @item | |
529 We eliminated the transaction queue feature, and the associated | |
530 functions @code{tq-create}, @code{tq-enqueue}, and @code{tq-close}. | |
531 @end itemize | |
532 | |
533 @section Dealing with Times And Time Delays | |
534 | |
535 @itemize @bullet | |
536 @item | |
537 We removed the functions @code{current-time}, @code{current-time-zone}, | |
538 @code{run-at-time}, and @code{cancel-timer}. | |
539 | |
540 @item | |
541 The function @code{current-time-string} no longer accepts any optional | |
542 arguments. | |
543 | |
544 @item | |
545 The functions @code{sit-for} and @code{sleep-for} no longer allow an | |
546 optional argument to let you specify the time period in milliseconds; | |
547 just in seconds. Additionally, we took out the optional third argument | |
548 @var{nodisp} from @code{sit-for}. | |
549 | |
550 @item | |
551 We removed the optional second and third arguments from the | |
552 @code{accept-process-output} function. It accepts just one argument, | |
553 the process. | |
554 @end itemize | |
555 | |
556 @need 3000 | |
557 | |
558 @section Features not Available for Lisp Debuggers | |
559 | |
560 @itemize @bullet | |
561 @item | |
562 In Emacs 18, you can no longer specify to invoke the Lisp debugger only | |
563 upon encountering certain types of errors. Any non-@code{nil} value for | |
564 the variable @code{debug-on-error} says to invoke the debugger for any | |
565 error whatever. | |
566 | |
567 @item | |
568 We removed the variable @code{command-debug-status} and the function | |
569 @code{backtrace-frame}. | |
570 @end itemize | |
571 | |
572 @section Memory Allocation Changes | |
573 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
574 @itemize @bullet |
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
575 @item |
6380 | 576 We removed the function @code{memory-limit}. |
577 | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
578 @item |
6380 | 579 The list returned by @code{garbage-collect} no longer contains an |
580 element to describe floating point numbers, since there aren't any | |
581 floating point numbers in Emacs 18. | |
7601
c5927c75b2b5
*** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents:
6380
diff
changeset
|
582 @end itemize |
6380 | 583 |
584 @section Hook Changes | |
585 | |
586 @itemize @bullet | |
587 @item | |
588 We removed the hooks @code{pre-abbrev-expand-hook}, | |
589 @code{pre-command-hook}, @code{post-command-hook}, and | |
590 @code{auto-save-hook}. | |
591 | |
592 @item | |
593 We removed the variable | |
594 @code{revert-buffer-insert-file-contents-function}. | |
595 | |
596 @item | |
597 We also removed the new function @code{add-hook}; you will have to set | |
598 your hooks by hand. If you want to get really into the swing of things, | |
599 set your hook variables the archaic way: store just one function rather | |
600 than a list of functions. But that is optional. | |
601 | |
602 @item | |
603 The variable @code{lisp-indent-hook} has been renamed to | |
604 @code{lisp-indent-function}. | |
605 | |
606 @item | |
607 The variable @code{auto-fill-function} has been renamed to | |
608 @code{auto-fill-hook}. | |
609 | |
610 @item | |
611 The @code{blink-paren-function} has been renamed to | |
612 @code{blink-paren-hook}. | |
613 | |
614 @item | |
615 The variable @code{temp-buffer-show-function} has been renamed to | |
616 @code{temp-buffer-show-hook}. | |
617 @end itemize |