comparison etc/ONEWS @ 35782:061a65fa5a43

Move 19.x news from NEWS here.
author Gerd Moellmann <gerd@gnu.org>
date Wed, 31 Jan 2001 15:19:32 +0000
parents b75587b124c4
children 19880a4faa73
comparison
equal deleted inserted replaced
35781:ffdcf20f53f2 35782:061a65fa5a43
1 GNU Emacs NEWS -- history of user-visible changes. 1992. 1 GNU Emacs NEWS -- history of user-visible changes. 1992.
2 Copyright (C) 1995 Free Software Foundation, Inc. 2 Copyright (C) 1995, 2001 Free Software Foundation, Inc.
3 See the end for copying conditions. 3 See the end for copying conditions.
4 4
5 For older news, see the file ONEWS.4. 5 For older news, see the file ONEWS.4.
6
7 * Emacs 19.34 is a bug-fix release with no user-visible changes.
8
9 * Changes in Emacs 19.33.
10
11 ** Bibtex mode no longer turns on Auto Fill automatically. (No major
12 mode should do that--it is the user's choice.)
13
14 ** The variable normal-auto-fill-function specifies the function to
15 use for auto-fill-function, if and when Auto Fill is turned on.
16 Major modes can set this locally to alter how Auto Fill works.
17
18 * Editing Changes in Emacs 19.32
19
20 ** C-x f with no argument now signals an error.
21 To set the fill column at the current column, use C-u C-x f.
22
23 ** Expanding dynamic abbrevs with M-/ is now smarter about case
24 conversion. If you type the abbreviation with mixed case, and it
25 matches the beginning of the expansion including case, then the
26 expansion is copied verbatim. Using SPC M-/ to copy an additional
27 word always copies it verbatim except when the previous copied word is
28 all caps.
29
30 ** On a non-windowing terminal, which can display only one Emacs frame
31 at a time, creating a new frame with C-x 5 2 also selects that frame.
32
33 When using a display that can show multiple frames at once, C-x 5 2
34 does make the frame visible, but does not select it. This is the same
35 as in previous Emacs versions.
36
37 ** You can use C-x 5 2 to create multiple frames on MSDOS, just as on a
38 non-X terminal on Unix. Of course, only one frame is visible at any
39 time, since your terminal doesn't have the ability to display multiple
40 frames.
41
42 ** On Windows, set win32-pass-alt-to-system to a non-nil value
43 if you would like tapping the Alt key to invoke the Windows menu.
44 This feature is not enabled by default; since the Alt key is also the
45 Meta key, it is too easy and painful to activate this feature by
46 accident.
47
48 ** The command apply-macro-to-region-lines repeats the last defined
49 keyboard macro once for each complete line within the current region.
50 It does this line by line, by moving point to the beginning of that
51 line and then executing the macro.
52
53 This command is not new, but was never documented before.
54
55 ** You can now use Mouse-1 to place the region around a string constant
56 (something surrounded by doublequote characters or other delimiter
57 characters of like syntax) by double-clicking on one of the delimiting
58 characters.
59
60 ** Font Lock mode
61
62 *** Font Lock support modes
63
64 Font Lock can be configured to use Fast Lock mode and Lazy Lock mode (see
65 below) in a flexible way. Rather than adding the appropriate function to the
66 hook font-lock-mode-hook, you can use the new variable font-lock-support-mode
67 to control which modes have Fast Lock mode or Lazy Lock mode turned on when
68 Font Lock mode is enabled.
69
70 For example, to use Fast Lock mode when Font Lock mode is turned on, put:
71
72 (setq font-lock-support-mode 'fast-lock-mode)
73
74 in your ~/.emacs.
75
76 *** lazy-lock
77
78 The lazy-lock package speeds up Font Lock mode by making fontification occur
79 only when necessary, such as when a previously unfontified part of the buffer
80 becomes visible in a window. When you create a buffer with Font Lock mode and
81 Lazy Lock mode turned on, the buffer is not fontified. When certain events
82 occur (such as scrolling), Lazy Lock makes sure that the visible parts of the
83 buffer are fontified. Lazy Lock also defers on-the-fly fontification until
84 Emacs has been idle for a given amount of time.
85
86 To use this package, put in your ~/.emacs:
87
88 (setq font-lock-support-mode 'lazy-lock-mode)
89
90 To control the package behaviour, see the documentation for `lazy-lock-mode'.
91
92 ** Changes in BibTeX mode.
93
94 *** For all entries allow spaces and tabs between opening brace or
95 paren and key.
96
97 *** Non-escaped double-quoted characters (as in `Sch"of') are now
98 supported.
99
100 ** Gnus changes.
101
102 Gnus, the Emacs news reader, has undergone further rewriting. Many new
103 commands and variables have been added. There should be no
104 significant incompatibilities between this Gnus version and the
105 previously released version, except in the message composition area.
106
107 Below is a list of the more user-visible changes. Coding changes
108 between Gnus 5.1 and 5.2 are more extensive.
109
110 *** A new message composition mode is used. All old customization
111 variables for mail-mode, rnews-reply-mode and gnus-msg are now
112 obsolete.
113
114 *** Gnus is now able to generate "sparse" threads -- threads where
115 missing articles are represented by empty nodes.
116
117 (setq gnus-build-sparse-threads 'some)
118
119 *** Outgoing articles are stored on a special archive server.
120
121 To disable this: (setq gnus-message-archive-group nil)
122
123 *** Partial thread regeneration now happens when articles are
124 referred.
125
126 *** Gnus can make use of GroupLens predictions:
127
128 (setq gnus-use-grouplens t)
129
130 *** A trn-line tree buffer can be displayed.
131
132 (setq gnus-use-trees t)
133
134 *** An nn-like pick-and-read minor mode is available for the summary
135 buffers.
136
137 (add-hook 'gnus-summary-mode-hook 'gnus-pick-mode)
138
139 *** In binary groups you can use a special binary minor mode:
140
141 `M-x gnus-binary-mode'
142
143 *** Groups can be grouped in a folding topic hierarchy.
144
145 (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
146
147 *** Gnus can re-send and bounce mail.
148
149 Use the `S D r' and `S D b'.
150
151 *** Groups can now have a score, and bubbling based on entry frequency
152 is possible.
153
154 (add-hook 'gnus-summary-exit-hook 'gnus-summary-bubble-group)
155
156 *** Groups can be process-marked, and commands can be performed on
157 groups of groups.
158
159 *** Caching is possible in virtual groups.
160
161 *** nndoc now understands all kinds of digests, mail boxes, rnews news
162 batches, ClariNet briefs collections, and just about everything else.
163
164 *** Gnus has a new backend (nnsoup) to create/read SOUP packets.
165
166 *** The Gnus cache is much faster.
167
168 *** Groups can be sorted according to many criteria.
169
170 For instance: (setq gnus-group-sort-function 'gnus-group-sort-by-rank)
171
172 *** New group parameters have been introduced to set list-address and
173 expiration times.
174
175 *** All formatting specs allow specifying faces to be used.
176
177 *** There are several more commands for setting/removing/acting on
178 process marked articles on the `M P' submap.
179
180 *** The summary buffer can be limited to show parts of the available
181 articles based on a wide range of criteria. These commands have been
182 bound to keys on the `/' submap.
183
184 *** Articles can be made persistent -- as an alternative to saving
185 articles with the `*' command.
186
187 *** All functions for hiding article elements are now toggles.
188
189 *** Article headers can be buttonized.
190
191 (add-hook 'gnus-article-display-hook 'gnus-article-add-buttons-to-head)
192
193 *** All mail backends support fetching articles by Message-ID.
194
195 *** Duplicate mail can now be treated properly. See the
196 `nnmail-treat-duplicates' variable.
197
198 *** All summary mode commands are available directly from the article
199 buffer.
200
201 *** Frames can be part of `gnus-buffer-configuration'.
202
203 *** Mail can be re-scanned by a daemonic process.
204
205 *** Gnus can make use of NoCeM files to filter spam.
206
207 (setq gnus-use-nocem t)
208
209 *** Groups can be made permanently visible.
210
211 (setq gnus-permanently-visible-groups "^nnml:")
212
213 *** Many new hooks have been introduced to make customizing easier.
214
215 *** Gnus respects the Mail-Copies-To header.
216
217 *** Threads can be gathered by looking at the References header.
218
219 (setq gnus-summary-thread-gathering-function
220 'gnus-gather-threads-by-references)
221
222 *** Read articles can be stored in a special backlog buffer to avoid
223 refetching.
224
225 (setq gnus-keep-backlog 50)
226
227 *** A clean copy of the current article is always stored in a separate
228 buffer to allow easier treatment.
229
230 *** Gnus can suggest where to save articles. See `gnus-split-methods'.
231
232 *** Gnus doesn't have to do as much prompting when saving.
233
234 (setq gnus-prompt-before-saving t)
235
236 *** gnus-uu can view decoded files asynchronously while fetching
237 articles.
238
239 (setq gnus-uu-grabbed-file-functions 'gnus-uu-grab-view)
240
241 *** Filling in the article buffer now works properly on cited text.
242
243 *** Hiding cited text adds buttons to toggle hiding, and how much
244 cited text to hide is now customizable.
245
246 (setq gnus-cited-lines-visible 2)
247
248 *** Boring headers can be hidden.
249
250 (add-hook 'gnus-article-display-hook 'gnus-article-hide-boring-headers)
251
252 *** Default scoring values can now be set from the menu bar.
253
254 *** Further syntax checking of outgoing articles have been added.
255
256 The Gnus manual has been expanded. It explains all these new features
257 in greater detail.
258
259 * Lisp Changes in Emacs 19.32
260
261 ** The function set-visited-file-name now accepts an optional
262 second argument NO-QUERY. If it is non-nil, then the user is not
263 asked for confirmation in the case where the specified file already
264 exists.
265
266 ** The variable print-length applies to printing vectors and bitvectors,
267 as well as lists.
268
269 ** The new function keymap-parent returns the parent keymap
270 of a given keymap.
271
272 ** The new function set-keymap-parent specifies a new parent for a
273 given keymap. The arguments are KEYMAP and PARENT. PARENT must be a
274 keymap or nil.
275
276 ** Sometimes menu keymaps use a command name, a symbol, which is really
277 an automatically generated alias for some other command, the "real"
278 name. In such a case, you should give that alias symbol a non-nil
279 menu-alias property. That property tells the menu system to look for
280 equivalent keys for the real name instead of equivalent keys for the
281 alias.
282
283 * Editing Changes in Emacs 19.31
284
285 ** Freedom of the press restricted in the United States.
286
287 Emacs has been censored in accord with the Communications Decency Act.
288 This includes removing some features of the doctor program. That law
289 was described by its supporters as a ban on pornography, but it bans
290 far more than that. The Emacs distribution has never contained any
291 pornography, but parts of it were nonetheless prohibited.
292
293 For information on US government censorship of the Internet, and what
294 you can do to bring back freedom of the press, see the web site
295 `http://www.vtw.org/'.
296
297 ** A note about C mode indentation customization.
298
299 The old (Emacs 19.29) ways of specifying a C indentation style
300 do not normally work in the new implementation of C mode.
301 It has its own methods of customizing indentation, which are
302 much more powerful than the old C mode. See the Editing Programs
303 chapter of the manual for details.
304
305 However, you can load the library cc-compat to make the old
306 customization variables take effect.
307
308 ** Marking with the mouse.
309
310 When you mark a region with the mouse, the region now remains
311 highlighted until the next input event, regardless of whether you are
312 using M-x transient-mark-mode.
313
314 ** Improved Windows NT/95 support.
315
316 *** Emacs now supports scroll bars on Windows NT and Windows 95.
317
318 *** Emacs now supports subprocesses on Windows 95. (Subprocesses used
319 to work on NT only and not on 95.)
320
321 *** There are difficulties with subprocesses, though, due to problems
322 in Windows, beyond the control of Emacs. They work fine as long as
323 you run Windows applications. The problems arise when you run a DOS
324 application in a subprocesses. Since current shells run as DOS
325 applications, these problems are significant.
326
327 If you run a DOS application in a subprocess, then the application is
328 likely to busy-wait, which means that your machine will be 100% busy.
329 However, if you don't mind the temporary heavy load, the subprocess
330 will work OK as long as you tell it to terminate before you start any
331 other DOS application as a subprocess.
332
333 Emacs is unable to terminate or interrupt a DOS subprocess.
334 You have to do this by providing input directly to the subprocess.
335
336 If you run two DOS applications at the same time in two separate
337 subprocesses, even if one of them is asynchronous, you will probably
338 have to reboot your machine--until then, it will remain 100% busy.
339 Windows simply does not cope when one Windows process tries to run two
340 separate DOS subprocesses. Typing CTL-ALT-DEL and then choosing
341 Shutdown seems to work although it may take a few minutes.
342
343 ** M-x resize-minibuffer-mode.
344
345 This command, not previously mentioned in NEWS, toggles a mode in
346 which the minibuffer window expands to show as many lines as the
347 minibuffer contains.
348
349 ** `title' frame parameter and resource.
350
351 The `title' X resource now specifies just the frame title, nothing else.
352 It does not affect the name used for looking up other X resources.
353 It works by setting the new `title' frame parameter, which likewise
354 affects just the displayed title of the frame.
355
356 The `name' parameter continues to do what it used to do:
357 it specifies the frame name for looking up X resources,
358 and also serves as the default for the displayed title
359 when the `title' parameter is unspecified or nil.
360
361 ** Emacs now uses the X toolkit by default, if you have a new
362 enough version of X installed (X11R5 or newer).
363
364 ** When you compile Emacs with the Motif widget set, Motif handles the
365 F10 key by activating the menu bar. To avoid confusion, the usual
366 Emacs binding of F10 is replaced with a no-op when using Motif.
367
368 If you want to be able to use F10 in Emacs, you can rebind the Motif
369 menubar to some other key which you don't use. To do so, add
370 something like this to your X resources file. This example rebinds
371 the Motif menu bar activation key to S-F12:
372
373 Emacs*defaultVirtualBindings: osfMenuBar : Shift<Key>F12
374
375 ** In overwrite mode, DEL now inserts spaces in most cases
376 to replace the characters it "deletes".
377
378 ** The Rmail summary now shows the number of lines in each message.
379
380 ** Rmail has a new command M-x unforward-rmail-message, which extracts
381 a forwarded message from the message that forwarded it. To use it,
382 select a message which contains a forwarded message and then type the command.
383 It inserts the forwarded message as a separate Rmail message
384 immediately after the selected one.
385
386 This command also undoes the textual modifications that are standardly
387 made, as part of forwarding, by Rmail and other mail reader programs.
388
389 ** Turning off saving of .saves-... files in your home directory.
390
391 Each Emacs session writes a file named .saves-... in your home
392 directory to record which files M-x recover-session should recover.
393 If you exit Emacs normally with C-x C-c, it deletes that file. If
394 Emacs or the operating system crashes, the file remains for M-x
395 recover-session.
396
397 You can turn off the writing of these files by setting
398 auto-save-list-file-name to nil. If you do this, M-x recover-session
399 will not work.
400
401 Some previous Emacs versions failed to delete these files even on
402 normal exit. This is fixed now. If you are thinking of turning off
403 this feature because of past experiences with versions that had this
404 bug, it would make sense to check whether you still want to do so
405 now that the bug is fixed.
406
407 ** Changes to Version Control (VC)
408
409 There is a new variable, vc-follow-symlinks. It indicates what to do
410 when you visit a link to a file that is under version control.
411 Editing the file through the link bypasses the version control system,
412 which is dangerous and probably not what you want.
413
414 If this variable is t, VC follows the link and visits the real file,
415 telling you about it in the echo area. If it is `ask' (the default),
416 VC asks for confirmation whether it should follow the link. If nil,
417 the link is visited and a warning displayed.
418
419 ** iso-acc.el now lets you specify a choice of language.
420 Languages include "latin-1" (the default) and "latin-2" (which
421 is designed for entering ISO Latin-2 characters).
422
423 There are also choices for specific human languages such as French and
424 Portuguese. These are subsets of Latin-1, which differ in that they
425 enable only the accent characters needed for particular language.
426 The other accent characters, not needed for the chosen language,
427 remain normal.
428
429 ** Posting articles and sending mail now has M-TAB completion on various
430 header fields (Newsgroups, To, CC, ...).
431
432 Completion in the Newsgroups header depends on the list of groups
433 known to your news reader. Completion in the Followup-To header
434 offers those groups which are in the Newsgroups header, since
435 Followup-To usually just holds one of those.
436
437 Completion in fields that hold mail addresses works based on the list
438 of local users plus your aliases. Additionally, if your site provides
439 a mail directory or a specific host to use for any unrecognized user
440 name, you can arrange to query that host for completion also. (See the
441 documentation of variables `mail-directory-process' and
442 `mail-directory-stream'.)
443
444 ** A greatly extended sgml-mode offers new features such as (to be configured)
445 skeletons with completing read for tags and attributes, typing named
446 characters including optionally all 8bit characters, making tags invisible
447 with optional alternate display text, skipping and deleting tag(pair)s.
448
449 Note: since Emacs' syntax feature cannot limit the special meaning of ', " and
450 - to inside <>, for some texts the result, especially of font locking, may be
451 wrong (see `sgml-specials' if you get wrong results).
452
453 The derived html-mode configures this with tags and attributes more or
454 less HTML3ish. It also offers optional quick keys like C-c 1 for
455 headline or C-c u for unordered list (see `html-quick-keys'). Edit /
456 Text Properties / Face or M-g combinations create tags as applicable.
457 Outline minor mode is supported and level 1 font-locking tries to
458 fontify tag contents (which only works when they fit on one line, due
459 to a limitation in font-lock).
460
461 External viewing via browse-url can occur automatically upon saving.
462
463 ** M-x imenu-add-to-menubar now adds to the menu bar for the current
464 buffer only. If you want to put an Imenu item in the menu bar for all
465 buffers that use a particular major mode, use the mode hook, as in
466 this example:
467
468 (add-hook 'emacs-lisp-mode-hook
469 '(lambda () (imenu-add-to-menubar "Index")))
470
471 ** Changes in BibTeX mode.
472
473 *** Field names may now contain digits, hyphens, and underscores.
474
475 *** Font Lock mode is now supported.
476
477 *** bibtex-make-optional-field is no longer interactive.
478
479 *** If bibtex-maintain-sorted-entries is non-nil, inserting new
480 entries is now done with a faster algorithm. However, inserting
481 will fail in this case if the buffer contains invalid entries or
482 isn't in sorted order, so you should finish each entry with C-c C-c
483 (bibtex-close-entry) after you have inserted or modified it.
484 The default value of bibtex-maintain-sorted-entries is nil.
485
486 *** Function `show-all' is no longer bound to a key, since C-u C-c C-q
487 does the same job.
488
489 *** Entries with quotes inside quote-delimited fields (as `author =
490 "Stefan Sch{\"o}f"') are now supported.
491
492 *** Case in field names doesn't matter anymore when searching for help
493 text.
494
495 ** Font Lock mode
496
497 *** Global Font Lock mode
498
499 Font Lock mode can be turned on globally, in buffers that support it, by the
500 new command global-font-lock-mode. You can use the new variable
501 font-lock-global-modes to control which modes have Font Lock mode automagically
502 turned on. By default, this variable is set so that Font Lock mode is turned
503 on globally where the buffer mode supports it.
504
505 For example, to automagically turn on Font Lock mode where supported, put:
506
507 (global-font-lock-mode t)
508
509 in your ~/.emacs.
510
511 *** Local Refontification
512
513 In Font Lock mode, editing a line automatically refontifies that line only.
514 However, if your change alters the syntactic context for following lines,
515 those lines remain incorrectly fontified. To refontify them, use the new
516 command M-g M-g (font-lock-fontify-block).
517
518 In certain major modes, M-g M-g refontifies the entire current function.
519 (The variable font-lock-mark-block-function controls how to find the
520 current function.) In other major modes, M-g M-g refontifies 16 lines
521 above and below point.
522
523 With a prefix argument N, M-g M-g refontifies N lines above and below point.
524
525 ** Follow mode
526
527 Follow mode is a new minor mode combining windows showing the same
528 buffer into one tall "virtual window". The windows are typically two
529 side-by-side windows. Follow mode makes them scroll together as if
530 they were a unit. To use it, go to a frame with just one window,
531 split it into two side-by-side windows using C-x 3, and then type M-x
532 follow-mode.
533
534 M-x follow-mode turns off Follow mode if it is already enabled.
535
536 To display two side-by-side windows and activate Follow mode, use the
537 command M-x follow-delete-other-windows-and-split.
538
539 ** hide-show changes.
540
541 The hooks hs-hide-hooks and hs-show-hooks have been renamed
542 to hs-hide-hook and hs-show-hook, to follow the convention for
543 normal hooks.
544
545 ** Simula mode now has a menu containing the most important commands.
546 The new command simula-indent-exp is bound to C-M-q.
547
548 ** etags can now handle programs written in Erlang. Files are
549 recognised by the extensions .erl and .hrl. The tagged lines are
550 those that begin a function, record, or macro.
551
552 ** MSDOS Changes
553
554 *** It is now possible to compile Emacs with the version 2 of DJGPP.
555 Compilation with DJGPP version 1 also still works.
556
557 *** The documentation of DOS-specific aspects of Emacs was rewritten
558 and expanded; see the ``MS-DOS'' node in the on-line docs.
559
560 *** Emacs now uses ~ for backup file names, not .bak.
561
562 *** You can simulate mouse-3 on two-button mice by simultaneously
563 pressing both mouse buttons.
564
565 *** A number of packages and commands which previously failed or had
566 restricted functionality on MS-DOS, now work. The most important ones
567 are:
568
569 **** Printing (both with `M-x lpr-buffer' and with `ps-print' package)
570 now works.
571
572 **** `Ediff' works (in a single-frame mode).
573
574 **** `M-x display-time' can be used on MS-DOS (due to the new
575 implementation of Emacs timers, see below).
576
577 **** `Dired' supports Unix-style shell wildcards.
578
579 **** The `c-macro-expand' command now works as on other platforms.
580
581 **** `M-x recover-session' works.
582
583 **** `M-x list-colors-display' displays all the available colors.
584
585 **** The `TPU-EDT' package works.
586
587 * Lisp changes in Emacs 19.31.
588
589 ** The function using-unix-filesystems on Windows NT and Windows 95
590 tells Emacs to read and write files assuming that they reside on a
591 remote Unix filesystem. No CR/LF translation is done on any files in
592 this case. Invoking using-unix-filesystems with t activates this
593 behavior, and invoking it with any other value deactivates it.
594
595 ** Change in system-type and system-configuration values.
596
597 The value of system-type on a Linux-based GNU system is now `lignux',
598 not `linux'. This means that some programs which use `system-type'
599 need to be changed. The value of `system-configuration' will also
600 be different.
601
602 It is generally recommended to use `system-configuration' rather
603 than `system-type'.
604
605 See the file LINUX-GNU in this directory for more about this.
606
607 ** The functions shell-command and dired-call-process
608 now run file name handlers for default-directory, if it has them.
609
610 ** Undoing the deletion of text now restores the positions of markers
611 that pointed into or next to the deleted text.
612
613 ** Timers created with run-at-time now work internally to Emacs, and
614 no longer use a separate process. Therefore, they now work more
615 reliably and can be used for shorter time delays.
616
617 The new function run-with-timer is a convenient way to set up a timer
618 to run a specified amount of time after the present. A call looks
619 like this:
620
621 (run-with-timer SECS REPEAT FUNCTION ARGS...)
622
623 SECS says how many seconds should elapse before the timer happens.
624 It may be an integer or a floating point number. When the timer
625 becomes ripe, the action is to call FUNCTION with arguments ARGS.
626
627 REPEAT gives the interval for repeating the timer (measured in
628 seconds). It may be an integer or a floating point number. nil or 0
629 means don't repeat at all--call FUNCTION just once.
630
631 *** with-timeout provides an easy way to do something but give
632 up if too much time passes.
633
634 (with-timeout (SECONDS TIMEOUT-FORMS...) BODY...)
635
636 This executes BODY, but gives up after SECONDS seconds.
637 If it gives up, it runs the TIMEOUT-FORMS and returns the value
638 of the last one of them. Normally it returns the value of the last
639 form in BODY.
640
641 *** You can now arrange to call a function whenever Emacs is idle for
642 a certain length of time. To do this, call run-with-idle-timer. A
643 call looks like this:
644
645 (run-with-idle-timer SECS REPEAT FUNCTION ARGS...)
646
647 SECS says how many seconds of idleness should elapse before the timer
648 runs. It may be an integer or a floating point number. When the
649 timer becomes ripe, the action is to call FUNCTION with arguments
650 ARGS.
651
652 Emacs becomes idle whenever it finishes executing a keyboard or mouse
653 command. It remains idle until it receives another keyboard or mouse
654 command.
655
656 REPEAT, if non-nil, means this timer should be activated again each
657 time Emacs becomes idle and remains idle for SECS seconds The timer
658 does not repeat if Emacs *remains* idle; it runs at most once after
659 each time Emacs becomes idle.
660
661 If REPEAT is nil, the timer runs just once, the first time Emacs is
662 idle for SECS seconds.
663
664 *** post-command-idle-hook is now obsolete; you shouldn't use it at
665 all, because it interferes with the idle timer mechanism. If your
666 programs use post-command-idle-hook, convert them to use idle timers
667 instead.
668
669 *** y-or-n-p-with-timeout lets you ask a question but give up if
670 there is no answer within a certain time.
671
672 (y-or-n-p-with-timeout PROMPT SECONDS DEFAULT-VALUE)
673
674 asks the question PROMPT (just like y-or-n-p). If the user answers
675 within SECONDS seconds, it returns the answer that the user gave.
676 Otherwise it gives up after SECONDS seconds, and returns DEFAULT-VALUE.
677
678 ** Minor change to `encode-time': you can now pass more than seven
679 arguments. If you do that, the first six arguments have the usual
680 meaning, the last argument is interpreted as the time zone, and the
681 arguments in between are ignored.
682
683 This means that it works to use the list returned by `decode-time' as
684 the list of arguments for `encode-time'.
685
686 ** The default value of load-path now includes the directory
687 /usr/local/share/emacs/VERSION/site-lisp In addition to
688 /usr/local/share/emacs/site-lisp. You can use this new directory for
689 site-specific Lisp packages that belong with a particular Emacs
690 version.
691
692 It is not unusual for a Lisp package that works well in one Emacs
693 version to cause trouble in another. Sometimes packages need updating
694 for incompatible changes; sometimes they look at internal data that
695 has changed; sometimes the package has been installed in Emacs itself
696 and the installed version should be used. Whatever the reason for the
697 problem, this new feature makes it easier to solve.
698
699 ** When your program contains a fixed file name (like .completions or
700 .abbrev.defs), the file name usually needs to be different on operating
701 systems with limited file name syntax.
702
703 Now you can avoid ad-hoc conditionals by using the function
704 convert-standard-filename to convert the file name to a proper form
705 for each operating system. Here is an example of use, from the file
706 completions.el:
707
708 (defvar save-completions-file-name
709 (convert-standard-filename "~/.completions")
710 "*The filename to save completions to.")
711
712 This sets the variable save-completions-file-name to a value that
713 depends on the operating system, because the definition of
714 convert-standard-filename depends on the operating system. On
715 Unix-like systems, it returns the specified file name unchanged. On
716 MS-DOS, it adapts the name to fit the limitations of that system.
717
718 ** The interactive spec N now returns the numeric prefix argument
719 rather than the raw prefix argument. (It still reads a number using the
720 minibuffer if there is no prefix argument at all.)
721
722 ** When a process is deleted, this no longer disconnects the process
723 marker from its buffer position.
724
725 ** The variable garbage-collection-messages now controls whether
726 Emacs displays a message at the beginning and end of garbage collection.
727 The default is nil, meaning there are no messages.
728
729 ** The variable debug-ignored-errors specifies certain kinds of errors
730 that should not enter the debugger. Its value is a list of error
731 condition symbols and/or regular expressions. If the error has any
732 of the condition symbols listed, or if any of the regular expressions
733 matches the error message, then that error does not enter the debugger,
734 regardless of the value of debug-on-error.
735
736 This variable is initialized to match certain common but uninteresting
737 errors that happen often during editing.
738
739 ** The new function error-message-string converts an error datum
740 into its error message. The error datum is what condition-case
741 puts into the variable, to describe the error that happened.
742
743 ** Anything that changes which buffer appears in a given window
744 now runs the window-scroll-functions for that window.
745
746 ** The new function get-buffer-window-list returns a list of windows displaying
747 a buffer. The function is called with the buffer (a buffer object or a buffer
748 name) and two optional arguments specifying the minibuffer windows and frames
749 to search. Therefore this function takes optional args like next-window etc.,
750 and not get-buffer-window.
751
752 ** buffer-substring now runs the hook buffer-access-fontify-functions,
753 calling each function with two arguments--the range of the buffer
754 being accessed. buffer-substring-no-properties does not call them.
755
756 If you use this feature, you should set the variable
757 buffer-access-fontified-property to a non-nil symbol, which is a
758 property name. Then, if all the characters in the buffer range have a
759 non-nil value for that property, the buffer-access-fontify-functions
760 are not called. When called, these functions should put a non-nil
761 property on the text that they fontify, so that they won't get called
762 over and over for the same text.
763
764 ** Changes in lisp-mnt.el
765
766 *** The lisp-mnt package can now recognize file headers that are written
767 in the formats used by the `what' command and the RCS `ident' command:
768
769 ;; @(#) HEADER: text
770 ;; $HEADER: text $
771
772 in addition to the normal
773
774 ;; HEADER: text
775
776 *** The commands lm-verify and lm-synopsis are now interactive. lm-verify
777 checks that the library file has proper sections and headers, and
778 lm-synopsis extracts first line "synopsis'"information.
779
780
6 781
7 * Editing Changes in Emacs 19.30. 782 * Editing Changes in Emacs 19.30.
8 783
9 ** Be sure to recompile your byte-compiled Emacs Lisp files 784 ** Be sure to recompile your byte-compiled Emacs Lisp files
10 if you last compiled them with Emacs 19.28 or earlier. 785 if you last compiled them with Emacs 19.28 or earlier.
252 your working file with the latest version from the master. 1027 your working file with the latest version from the master.
253 1028
254 *** RCS customization. 1029 *** RCS customization.
255 1030
256 There is a new variable vc-consult-headers. If it is t (the default), 1031 There is a new variable vc-consult-headers. If it is t (the default),
257 VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.3 2000/11/02 13:34:50 gerd Exp $') and 1032 VC searches for RCS headers in working files (like `$Id: ONEWS,v 1.4 2000/11/20 16:15:34 gerd Exp $') and
258 determines the state of the file from them, not from the master file. 1033 determines the state of the file from them, not from the master file.
259 This is fast and more reliable when you use branches. (The variable 1034 This is fast and more reliable when you use branches. (The variable
260 was already present in Emacs 19.29, but didn't get mentioned in the 1035 was already present in Emacs 19.29, but didn't get mentioned in the
261 NEWS.) 1036 NEWS.)
262 1037