Mercurial > emacs
comparison etc/NEWS @ 38900:a3e94a8271e0
Reshuffle user-level changes to bring more important ones closer to the
beginning.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Wed, 22 Aug 2001 07:11:33 +0000 |
parents | 681dc47ffb61 |
children | d5d4948816a7 |
comparison
equal
deleted
inserted
replaced
38899:8e03c8311b6e | 38900:a3e94a8271e0 |
---|---|
14 | 14 |
15 ** Support for GNU/Linux on IA64 machines has been added. | 15 ** Support for GNU/Linux on IA64 machines has been added. |
16 | 16 |
17 ** Support for LynxOS has been added. | 17 ** Support for LynxOS has been added. |
18 | 18 |
19 ** `movemail' defaults to supporting POP. You can turn this off using | |
20 the --without-pop configure option, should that be necessary. | |
21 | |
22 ** There are new configure options associated with the support for | 19 ** There are new configure options associated with the support for |
23 images and toolkit scrollbars. Use the --help option in `configure' | 20 images and toolkit scrollbars. Use the --help option in `configure' |
24 to list them. | 21 to list them. |
25 | |
26 ** There is a new configure option `--without-xim' that instructs | |
27 Emacs to not use X Input Methods (XIM), if these are available. | |
28 | |
29 ** There is a new configure option `--disable-largefile' to omit | |
30 Unix-98-style support for large files if that is available. | |
31 | 22 |
32 ** You can build a 64-bit Emacs for SPARC/Solaris systems which | 23 ** You can build a 64-bit Emacs for SPARC/Solaris systems which |
33 support 64-bit executables and also on Irix 6.5. This increases the | 24 support 64-bit executables and also on Irix 6.5. This increases the |
34 maximum buffer size. See etc/MACHINES for instructions. Changes to | 25 maximum buffer size. See etc/MACHINES for instructions. Changes to |
35 build on other 64-bit systems should be straightforward modulo any | 26 build on other 64-bit systems should be straightforward modulo any |
36 necessary changes to unexec. | 27 necessary changes to unexec. |
37 | 28 |
38 ** Note that the MS-Windows port does not yet implement various of the | 29 ** There is a new configure option `--disable-largefile' to omit |
39 new display features described below. | 30 Unix-98-style support for large files if that is available. |
31 | |
32 ** There is a new configure option `--without-xim' that instructs | |
33 Emacs to not use X Input Methods (XIM), if these are available. | |
34 | |
35 ** `movemail' defaults to supporting POP. You can turn this off using | |
36 the --without-pop configure option, should that be necessary. | |
40 | 37 |
41 ** This version can be built for the Macintosh, but does not implement | 38 ** This version can be built for the Macintosh, but does not implement |
42 all of the new display features described below. The port currently | 39 all of the new display features described below. The port currently |
43 lacks unexec, asynchronous processes, and networking support. See the | 40 lacks unexec, asynchronous processes, and networking support. See the |
44 "Emacs and the Mac OS" appendix in the Emacs manual, for the | 41 "Emacs and the Mac OS" appendix in the Emacs manual, for the |
45 description of aspects specific to the Mac. | 42 description of aspects specific to the Mac. |
43 | |
44 ** Note that the MS-Windows port does not yet implement various of the | |
45 new display features described below. | |
46 | 46 |
47 | 47 |
48 * Changes in Emacs 21.1 | 48 * Changes in Emacs 21.1 |
49 | 49 |
50 ** Emacs has a new redisplay engine. | 50 ** Emacs has a new redisplay engine. |
78 on terminals. | 78 on terminals. |
79 | 79 |
80 The command-line options `-fg COLOR', `-bg COLOR', and `-rv' are now | 80 The command-line options `-fg COLOR', `-bg COLOR', and `-rv' are now |
81 supported on character terminals. | 81 supported on character terminals. |
82 | 82 |
83 Emacs automatically remaps all X-style color specifications to one of | |
84 the colors supported by the terminal. This means you could have the | |
85 same color customizations that work both on a windowed display and on | |
86 a TTY or when Emacs is invoked with the -nw option. | |
87 | |
83 ** New default font is Courier 12pt under X. | 88 ** New default font is Courier 12pt under X. |
89 | |
90 ** Sound support | |
91 | |
92 Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware | |
93 driver and native BSD driver, a.k.a. Luigi's driver). Currently | |
94 supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au). | |
84 | 95 |
85 +++ | 96 +++ |
86 ** Emacs now resizes mini-windows if appropriate. | 97 ** Emacs now resizes mini-windows if appropriate. |
87 | 98 |
88 If a message is longer than one line, or minibuffer contents are | 99 If a message is longer than one line, or minibuffer contents are |
146 This is not a problem when Imakefiles are used because each system's | 157 This is not a problem when Imakefiles are used because each system's |
147 imake configuration file contains the necessary information. Since | 158 imake configuration file contains the necessary information. Since |
148 Emacs doesn't use imake, this has do be done manually. | 159 Emacs doesn't use imake, this has do be done manually. |
149 | 160 |
150 +++ | 161 +++ |
151 ** Automatic Hscrolling | |
152 | |
153 Horizontal scrolling now happens automatically if | |
154 `automatic-hscrolling' is set (the default). This setting can be | |
155 customized. | |
156 | |
157 If a window is scrolled horizontally with set-window-hscroll, or | |
158 scroll-left/scroll-right (C-x <, C-x >), this serves as a lower bound | |
159 for automatic horizontal scrolling. Automatic scrolling will scroll | |
160 the text more to the left if necessary, but won't scroll the text more | |
161 to the right than the column set with set-window-hscroll etc. | |
162 | |
163 +++ | |
164 ** Tool bar support. | 162 ** Tool bar support. |
165 | 163 |
166 Emacs supports a tool bar at the top of a frame under X. For details | 164 Emacs supports a tool bar at the top of a frame under X. For details |
167 of how to define a tool bar, see the page describing Lisp-level | 165 of how to define a tool bar, see the page describing Lisp-level |
168 changes. Tool-bar global minor mode controls whether or not it is | 166 changes. Tool-bar global minor mode controls whether or not it is |
185 variable values can be displayed in tooltips by pointing at them with | 183 variable values can be displayed in tooltips by pointing at them with |
186 the mouse in source buffers. You can customize various aspects of the | 184 the mouse in source buffers. You can customize various aspects of the |
187 tooltip display in the group `tooltip'. | 185 tooltip display in the group `tooltip'. |
188 | 186 |
189 +++ | 187 +++ |
188 ** Automatic Hscrolling | |
189 | |
190 Horizontal scrolling now happens automatically if | |
191 `automatic-hscrolling' is set (the default). This setting can be | |
192 customized. | |
193 | |
194 If a window is scrolled horizontally with set-window-hscroll, or | |
195 scroll-left/scroll-right (C-x <, C-x >), this serves as a lower bound | |
196 for automatic horizontal scrolling. Automatic scrolling will scroll | |
197 the text more to the left if necessary, but won't scroll the text more | |
198 to the right than the column set with set-window-hscroll etc. | |
199 | |
200 +++ | |
190 ** When using a windowing terminal, each Emacs window now has a cursor | 201 ** When using a windowing terminal, each Emacs window now has a cursor |
191 of its own. By default, when a window is selected, the cursor is | 202 of its own. By default, when a window is selected, the cursor is |
192 solid; otherwise, it is hollow. The user-option | 203 solid; otherwise, it is hollow. The user-option |
193 `cursor-in-non-selected-windows' controls how to display the | 204 `cursor-in-non-selected-windows' controls how to display the |
194 cursor in non-selected windows. If nil, no cursor is shown, if | 205 cursor in non-selected windows. If nil, no cursor is shown, if |
259 details. | 270 details. |
260 | 271 |
261 Font-lock uses jit-lock-mode as default support mode, so you don't | 272 Font-lock uses jit-lock-mode as default support mode, so you don't |
262 have to do anything to activate it. | 273 have to do anything to activate it. |
263 | 274 |
264 +++ | 275 ** The default binding of the Delete key has changed. |
265 ** The default for user-option `next-line-add-newlines' has been | 276 |
266 changed to nil, i.e. C-n will no longer add newlines at the end of a | 277 The new user-option `normal-erase-is-backspace' can be set to |
267 buffer by default. | |
268 | |
269 ** The <home> and <end> keys now move to the beginning or end of the | |
270 current line, respectively. C-<home> and C-<end> move to the | |
271 beginning and end of the buffer. | |
272 | |
273 ** Emacs now checks for recursive loads of Lisp files. If the | |
274 recursion depth exceeds `recursive-load-depth-limit', an error is | |
275 signaled. | |
276 | |
277 ** When an error is signaled during the loading of the user's init | |
278 file, Emacs now pops up the *Messages* buffer. | |
279 | |
280 +++ | |
281 ** Emacs now refuses to load compiled Lisp files which weren't | |
282 compiled with Emacs. Set `load-dangerous-libraries' to t to change | |
283 this behavior. | |
284 | |
285 The reason for this change is an incompatible change in XEmacs' byte | |
286 compiler. Files compiled with XEmacs can contain byte codes that let | |
287 Emacs dump core. | |
288 | |
289 ** Toggle buttons and radio buttons in menus. | |
290 | |
291 When compiled with LessTif (or Motif) support, Emacs uses toolkit | |
292 widgets for radio and toggle buttons in menus. When configured for | |
293 Lucid, Emacs draws radio buttons and toggle buttons similar to Motif. | |
294 | |
295 ** The menu bar configuration has changed. The new configuration is | |
296 more CUA-compliant. The most significant change is that Options is | |
297 now a separate menu-bar item, with Mule and Customize as its submenus. | |
298 | |
299 ** Item Save Options on the Options menu allows saving options set | |
300 using that menu. | |
301 | |
302 +++ | |
303 ** Highlighting of trailing whitespace. | |
304 | |
305 When `show-trailing-whitespace' is non-nil, Emacs displays trailing | |
306 whitespace in the face `trailing-whitespace'. Trailing whitespace is | |
307 defined as spaces or tabs at the end of a line. To avoid busy | |
308 highlighting when entering new text, trailing whitespace is not | |
309 displayed if point is at the end of the line containing the | |
310 whitespace. | |
311 | |
312 +++ | |
313 ** C-x 5 1 runs the new command delete-other-frames which deletes | |
314 all frames except the selected one. | |
315 | |
316 ** The new user-option `confirm-kill-emacs' can be customized to | |
317 let Emacs ask for confirmation before exiting. | |
318 | |
319 +++ | |
320 ** Highlighting of mouse-sensitive regions is now supported in the | |
321 MS-DOS version of Emacs. | |
322 | |
323 ** The header line in an Info buffer is now displayed as an emacs | |
324 header-line (which is like a mode-line, but at the top of the window), | |
325 so that it remains visible even when the buffer has been scrolled. | |
326 This behavior may be disabled by customizing the option | |
327 `Info-use-header-line'. | |
328 | |
329 +++ | |
330 ** The recommended way of using Iswitchb is via the new global minor | |
331 mode `iswitchb-mode'. | |
332 | |
333 +++ | |
334 ** Just loading the msb package doesn't switch on Msb mode anymore. | |
335 If you have `(require 'msb)' in your .emacs, please replace it with | |
336 `(msb-mode 1)'. | |
337 | |
338 ** Polish, Czech, German, and French translations of Emacs' reference card | |
339 have been added. They are named `pl-refcard.tex', `cs-refcard.tex', | |
340 `de-refcard.tex' and `fr-refcard.tex'. Postscript files are included. | |
341 | |
342 ** An `Emacs Survival Guide', etc/survival.tex, is available. | |
343 | |
344 ** A reference card for Dired has been added. Its name is | |
345 `dired-ref.tex'. A French translation is available in | |
346 `fr-drdref.tex'. | |
347 | |
348 +++ | |
349 ** C-down-mouse-3 is bound differently. Now if the menu bar is not | |
350 displayed it pops up a menu containing the items which would be on the | |
351 menu bar. If the menu bar is displayed, it pops up the major mode | |
352 menu or the Edit menu if there is no major mode menu. | |
353 | |
354 ** Variable `load-path' is no longer customizable throuh Customize. | |
355 | |
356 You can no longer use `M-x customize-variable' to customize `load-path' | |
357 because it now contains a version-dependent component. You can still | |
358 use `add-to-list' and `setq' to customize this variable in your | |
359 `~/.emacs' init file or to modify it from any Lisp program in general. | |
360 | |
361 ** The new user-option `normal-erase-is-backspace' can be set to | |
362 determine the effect of the Delete and Backspace function keys. | 278 determine the effect of the Delete and Backspace function keys. |
363 | 279 |
364 On window systems, the default value of this option is chosen | 280 On window systems, the default value of this option is chosen |
365 according to the keyboard used. If the keyboard has both a Backspace | 281 according to the keyboard used. If the keyboard has both a Backspace |
366 key and a Delete key, and both are mapped to their usual meanings, the | 282 key and a Delete key, and both are mapped to their usual meanings, the |
379 | 295 |
380 Programmatically, you can call function normal-erase-is-backspace-mode | 296 Programmatically, you can call function normal-erase-is-backspace-mode |
381 to toggle the behavior of the Delete and Backspace keys. | 297 to toggle the behavior of the Delete and Backspace keys. |
382 | 298 |
383 +++ | 299 +++ |
300 ** The default for user-option `next-line-add-newlines' has been | |
301 changed to nil, i.e. C-n will no longer add newlines at the end of a | |
302 buffer by default. | |
303 | |
304 ** The <home> and <end> keys now move to the beginning or end of the | |
305 current line, respectively. C-<home> and C-<end> move to the | |
306 beginning and end of the buffer. | |
307 | |
308 ** Emacs now checks for recursive loads of Lisp files. If the | |
309 recursion depth exceeds `recursive-load-depth-limit', an error is | |
310 signaled. | |
311 | |
312 ** When an error is signaled during the loading of the user's init | |
313 file, Emacs now pops up the *Messages* buffer. | |
314 | |
315 +++ | |
316 ** Emacs now refuses to load compiled Lisp files which weren't | |
317 compiled with Emacs. Set `load-dangerous-libraries' to t to change | |
318 this behavior. | |
319 | |
320 The reason for this change is an incompatible change in XEmacs's byte | |
321 compiler. Files compiled with XEmacs can contain byte codes that let | |
322 Emacs dump core. | |
323 | |
324 ** Toggle buttons and radio buttons in menus. | |
325 | |
326 When compiled with LessTif (or Motif) support, Emacs uses toolkit | |
327 widgets for radio and toggle buttons in menus. When configured for | |
328 Lucid, Emacs draws radio buttons and toggle buttons similar to Motif. | |
329 | |
330 ** The menu bar configuration has changed. The new configuration is | |
331 more CUA-compliant. The most significant change is that Options is | |
332 now a separate menu-bar item, with Mule and Customize as its submenus. | |
333 | |
334 ** Item Save Options on the Options menu allows saving options set | |
335 using that menu. | |
336 | |
337 +++ | |
338 ** Highlighting of trailing whitespace. | |
339 | |
340 When `show-trailing-whitespace' is non-nil, Emacs displays trailing | |
341 whitespace in the face `trailing-whitespace'. Trailing whitespace is | |
342 defined as spaces or tabs at the end of a line. To avoid busy | |
343 highlighting when entering new text, trailing whitespace is not | |
344 displayed if point is at the end of the line containing the | |
345 whitespace. | |
346 | |
347 +++ | |
348 ** C-x 5 1 runs the new command delete-other-frames which deletes | |
349 all frames except the selected one. | |
350 | |
351 ** The new user-option `confirm-kill-emacs' can be customized to | |
352 let Emacs ask for confirmation before exiting. | |
353 | |
354 ** The header line in an Info buffer is now displayed as an emacs | |
355 header-line (which is like a mode-line, but at the top of the window), | |
356 so that it remains visible even when the buffer has been scrolled. | |
357 This behavior may be disabled by customizing the option | |
358 `Info-use-header-line'. | |
359 | |
360 ** Polish, Czech, German, and French translations of Emacs' reference card | |
361 have been added. They are named `pl-refcard.tex', `cs-refcard.tex', | |
362 `de-refcard.tex' and `fr-refcard.tex'. Postscript files are included. | |
363 | |
364 ** An `Emacs Survival Guide', etc/survival.tex, is available. | |
365 | |
366 ** A reference card for Dired has been added. Its name is | |
367 `dired-ref.tex'. A French translation is available in | |
368 `fr-drdref.tex'. | |
369 | |
370 +++ | |
371 ** C-down-mouse-3 is bound differently. Now if the menu bar is not | |
372 displayed it pops up a menu containing the items which would be on the | |
373 menu bar. If the menu bar is displayed, it pops up the major mode | |
374 menu or the Edit menu if there is no major mode menu. | |
375 | |
376 ** Variable `load-path' is no longer customizable through Customize. | |
377 | |
378 You can no longer use `M-x customize-variable' to customize `load-path' | |
379 because it now contains a version-dependent component. You can still | |
380 use `add-to-list' and `setq' to customize this variable in your | |
381 `~/.emacs' init file or to modify it from any Lisp program in general. | |
382 | |
383 +++ | |
384 ** C-u C-x = provides detailed information about the character at | 384 ** C-u C-x = provides detailed information about the character at |
385 point in a pop-up window. | 385 point in a pop-up window. |
386 | 386 |
387 +++ | 387 +++ |
388 ** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse) | 388 ** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse) |
399 You can customize `auto-save-list-file-prefix' to change this location. | 399 You can customize `auto-save-list-file-prefix' to change this location. |
400 | 400 |
401 +++ | 401 +++ |
402 ** The function `getenv' is now callable interactively. | 402 ** The function `getenv' is now callable interactively. |
403 | 403 |
404 ** The many obsolete language `setup-...-environment' commands have | |
405 been removed -- use `set-language-environment'. | |
406 | |
407 +++ | |
408 ** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows. | |
409 This environment variable was used when creating lock files. Emacs on | |
410 MS-Windows does not use this variable anymore. This change was made | |
411 before Emacs 21.1, but wasn't documented until now. | |
412 | |
413 ** Flyspell mode has various new options. See the `flyspell' Custom | |
414 group. | |
415 | |
416 ** The user option `backward-delete-char-untabify-method' controls the | |
417 behavior of `backward-delete-char-untabify'. The following values | |
418 are recognized: | |
419 | |
420 `untabify' -- turn a tab to many spaces, then delete one space; | |
421 `hungry' -- delete all whitespace, both tabs and spaces; | |
422 `all' -- delete all whitespace, including tabs, spaces and newlines; | |
423 nil -- just delete one character. | |
424 | |
425 Default value is `untabify'. | |
426 | |
427 [This change was made in Emacs 20.3 but not mentioned then.] | |
428 | |
429 ** In Cperl mode `cperl-invalid-face' should now be a normal face | |
430 symbol, not double-quoted. | |
431 | |
432 ** Some packages are declared obsolete, to be removed in a future | |
433 version. They are: auto-show, c-mode, hilit19, hscroll, ooutline, | |
434 rnews, rnewspost. Their implementations have been moved to | |
435 lisp/obsolete. | |
436 | |
437 +++ | |
438 ** The new Custom option `keyboard-coding-system' specifies a coding | |
439 system for keyboard input. | |
440 | |
441 +++ | 404 +++ |
442 ** The new user-option `even-window-heights' can be set to nil | 405 ** The new user-option `even-window-heights' can be set to nil |
443 to prevent `display-buffer' from evening out window heights. | 406 to prevent `display-buffer' from evening out window heights. |
444 | |
445 +++ | |
446 ** The new command `msdos-set-mouse-buttons' forces Emacs to behave | |
447 as if the mouse had a specified number of buttons. This comes handy | |
448 with mice that don't report their number of buttons correctly. One | |
449 example is the wheeled mice, which report 3 buttons, but clicks on the | |
450 middle button are not passed to the MS-DOS version of Emacs. | |
451 | 407 |
452 ** The new command M-x delete-trailing-whitespace RET will delete the | 408 ** The new command M-x delete-trailing-whitespace RET will delete the |
453 trailing whitespace within the current restriction. You can also add | 409 trailing whitespace within the current restriction. You can also add |
454 this function to `write-file-hooks' or `local-write-file-hooks'. | 410 this function to `write-file-hooks' or `local-write-file-hooks'. |
455 | 411 |
456 ** When visiting a file with M-x find-file-literally, no newlines will | 412 ** When visiting a file with M-x find-file-literally, no newlines will |
457 be added to the end of the buffer even if `require-final-newline' is | 413 be added to the end of the buffer even if `require-final-newline' is |
458 non-nil. | 414 non-nil. |
459 | 415 |
460 ** auto-compression mode is no longer enabled just by loading jka-compr.el. | |
461 To control it, set `auto-compression-mode' via Custom or use the | |
462 `auto-compression-mode' command. | |
463 | |
464 ** `browse-url-gnome-moz' is a new option for | |
465 `browse-url-browser-function', invoking Mozilla in GNOME, and | |
466 `browse-url-kde' can be chosen for invoking the KDE browser. | |
467 | |
468 ** The user-option `browse-url-new-window-p' has been renamed to | |
469 `browse-url-new-window-flag'. | |
470 | |
471 +++ | |
472 ** The functions `keep-lines', `flush-lines' and `how-many' now | |
473 operate on the active region in Transient Mark mode. | |
474 | |
475 +++ | |
476 ** `gnus-user-agent' is a new possibility for `mail-user-agent'. It | |
477 is like `message-user-agent', but with all the Gnus paraphernalia. | |
478 | |
479 +++ | |
480 ** Gnus changes. | |
481 | |
482 The Gnus NEWS entries are short, but they reflect sweeping changes in | |
483 four areas: Article display treatment, MIME treatment, | |
484 internationalization and mail-fetching. | |
485 | |
486 *** The mail-fetching functions have changed. See the manual for the | |
487 many details. In particular, all procmail fetching variables are gone. | |
488 | |
489 If you used procmail like in | |
490 | |
491 (setq nnmail-use-procmail t) | |
492 (setq nnmail-spool-file 'procmail) | |
493 (setq nnmail-procmail-directory "~/mail/incoming/") | |
494 (setq nnmail-procmail-suffix "\\.in") | |
495 | |
496 this now has changed to | |
497 | |
498 (setq mail-sources | |
499 '((directory :path "~/mail/incoming/" | |
500 :suffix ".in"))) | |
501 | |
502 More information is available in the info doc at Select Methods -> | |
503 Getting Mail -> Mail Sources | |
504 | |
505 *** Gnus is now a MIME-capable reader. This affects many parts of | |
506 Gnus, and adds a slew of new commands. See the manual for details. | |
507 Separate MIME packages like RMIME, mime-compose etc., will probably no | |
508 longer work; remove them and use the native facilities. | |
509 | |
510 The FLIM/SEMI package still works with Emacs 21, but if you want to | |
511 use the native facilities, you must remove any mailcap.el[c] that was | |
512 installed by FLIM/SEMI version 1.13 or earlier. | |
513 | |
514 *** Gnus has also been multilingualized. This also affects too many | |
515 parts of Gnus to summarize here, and adds many new variables. There | |
516 are built-in facilities equivalent to those of gnus-mule.el, which is | |
517 now just a compatibility layer. | |
518 | |
519 *** gnus-auto-select-first can now be a function to be | |
520 called to position point. | |
521 | |
522 *** The user can now decide which extra headers should be included in | |
523 summary buffers and NOV files. | |
524 | |
525 *** `gnus-article-display-hook' has been removed. Instead, a number | |
526 of variables starting with `gnus-treat-' have been added. | |
527 | |
528 *** The Gnus posting styles have been redone again and now work in a | |
529 subtly different manner. | |
530 | |
531 *** New web-based backends have been added: nnslashdot, nnwarchive | |
532 and nnultimate. nnweb has been revamped, again, to keep up with | |
533 ever-changing layouts. | |
534 | |
535 *** Gnus can now read IMAP mail via nnimap. | |
536 | |
537 *** There is image support of various kinds and some sound support. | |
538 | |
539 +++ | |
540 ** When your terminal can't display characters from some of the ISO | |
541 8859 character sets but can display Latin-1, you can display | |
542 more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of | |
543 empty boxes (under a window system) or question marks (not under a | |
544 window system). Customize the option `latin1-display' to turn this | |
545 on. | |
546 | |
547 ** The new user-option `find-file-suppress-same-file-warnings' can be | 416 ** The new user-option `find-file-suppress-same-file-warnings' can be |
548 set to suppress warnings ``X and Y are the same file'' when visiting a | 417 set to suppress warnings ``X and Y are the same file'' when visiting a |
549 file that is already visited under a different name. | 418 file that is already visited under a different name. |
550 | 419 |
551 ** The new user-option `electric-help-shrink-window' can be set to | 420 ** The new user-option `electric-help-shrink-window' can be set to |
552 nil to prevent adjusting the help window size to the buffer size. | 421 nil to prevent adjusting the help window size to the buffer size. |
553 | |
554 ** The Strokes package has been updated. If your Emacs has XPM | |
555 support, you can use it for pictographic editing. In Strokes mode, | |
556 use C-mouse-2 to compose a complex stoke and insert it into the | |
557 buffer. You can encode or decode a strokes buffer with new commands | |
558 M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a | |
559 new command M-x strokes-list-strokes. | |
560 | 422 |
561 +++ | 423 +++ |
562 ** New command M-x describe-character-set reads a character set name | 424 ** New command M-x describe-character-set reads a character set name |
563 and displays information about that. | 425 and displays information about that. |
564 | 426 |
581 contents. (The most preferred is set by set-language-environment or | 443 contents. (The most preferred is set by set-language-environment or |
582 by M-x prefer-coding-system.) Thus if you visit an ASCII file and | 444 by M-x prefer-coding-system.) Thus if you visit an ASCII file and |
583 insert a non-ASCII character from your current language environment, | 445 insert a non-ASCII character from your current language environment, |
584 the file will be saved silently with the appropriate coding. | 446 the file will be saved silently with the appropriate coding. |
585 Previously you would be prompted for a safe coding system. | 447 Previously you would be prompted for a safe coding system. |
448 | |
449 ** The many obsolete language `setup-...-environment' commands have | |
450 been removed -- use `set-language-environment'. | |
451 | |
452 +++ | |
453 ** The new Custom option `keyboard-coding-system' specifies a coding | |
454 system for keyboard input. | |
586 | 455 |
587 +++ | 456 +++ |
588 ** New variable `inhibit-iso-escape-detection' determines if Emacs' | 457 ** New variable `inhibit-iso-escape-detection' determines if Emacs' |
589 coding system detection algorithm should pay attention to ISO2022's | 458 coding system detection algorithm should pay attention to ISO2022's |
590 escape sequences. If this variable is non-nil, the algorithm ignores | 459 escape sequences. If this variable is non-nil, the algorithm ignores |
604 | 473 |
605 ** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based | 474 ** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based |
606 coding systems such as cpXXX and cyrillic-koi8. | 475 coding systems such as cpXXX and cyrillic-koi8. |
607 | 476 |
608 +++ | 477 +++ |
478 ** Emacs now attempts to determine the initial language environment | |
479 and preferred and locale coding systems systematically from the | |
480 LC_ALL, LC_CTYPE, and LANG environment variables during startup. | |
481 | |
482 +++ | |
483 ** New language environments `Polish', `Latin-8' and `Latin-9'. | |
484 Latin-8 and Latin-9 correspond respectively to the ISO character sets | |
485 8859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign). | |
486 GNU Intlfonts doesn't support these yet but recent X releases have | |
487 8859-15. See etc/INSTALL for information on obtaining extra fonts. | |
488 There are new Leim input methods for Latin-8 and Latin-9 prefix (only) | |
489 and Polish `slash'. | |
490 | |
491 +++ | |
492 ** New language environments `Dutch' and `Spanish'. | |
493 These new environments mainly select appropriate translations | |
494 of the tutorial. | |
495 | |
496 ** In Ethiopic language environment, special key bindings for | |
497 function keys are changed as follows. This is to conform to "Emacs | |
498 Lisp Coding Convention". | |
499 | |
500 new command old-binding | |
501 --- ------- ----------- | |
502 f3 ethio-fidel-to-sera-buffer f5 | |
503 S-f3 ethio-fidel-to-sera-region f5 | |
504 C-f3 ethio-fidel-to-sera-mail-or-marker f5 | |
505 | |
506 f4 ethio-sera-to-fidel-buffer unchanged | |
507 S-f4 ethio-sera-to-fidel-region unchanged | |
508 C-f4 ethio-sera-to-fidel-mail-or-marker unchanged | |
509 | |
510 S-f5 ethio-toggle-punctuation f3 | |
511 S-f6 ethio-modify-vowel f6 | |
512 S-f7 ethio-replace-space f7 | |
513 S-f8 ethio-input-special-character f8 | |
514 S-f9 ethio-replace-space unchanged | |
515 C-f9 ethio-toggle-space f2 | |
516 | |
517 ** The rule of input method "slovak" is slightly changed. Now the | |
518 rules for translating "q" and "Q" to "`" (backquote) are deleted, thus | |
519 typing them inserts "q" and "Q" respectively. Rules for translating | |
520 "=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input | |
521 "`", you must type "=q". | |
522 | |
523 +++ | |
524 ** When your terminal can't display characters from some of the ISO | |
525 8859 character sets but can display Latin-1, you can display | |
526 more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of | |
527 empty boxes (under a window system) or question marks (not under a | |
528 window system). Customize the option `latin1-display' to turn this | |
529 on. | |
530 | |
531 +++ | |
609 ** M-; now calls comment-dwim which tries to do something clever based | 532 ** M-; now calls comment-dwim which tries to do something clever based |
610 on the context. M-x kill-comment is now an alias to comment-kill, | 533 on the context. M-x kill-comment is now an alias to comment-kill, |
611 defined in newcomment.el. You can choose different styles of region | 534 defined in newcomment.el. You can choose different styles of region |
612 commenting with the variable `comment-style'. | 535 commenting with the variable `comment-style'. |
613 | 536 |
693 | 616 |
694 Example: | 617 Example: |
695 | 618 |
696 emacs.privateColormap: true | 619 emacs.privateColormap: true |
697 | 620 |
621 ** Faces and frame parameters. | |
622 | |
623 There are four new faces `scroll-bar', `border', `cursor' and `mouse'. | |
624 Setting the frame parameters `scroll-bar-foreground' and | |
625 `scroll-bar-background' sets foreground and background color of face | |
626 `scroll-bar' and vice versa. Setting frame parameter `border-color' | |
627 sets the background color of face `border' and vice versa. Likewise | |
628 for frame parameters `cursor-color' and face `cursor', and frame | |
629 parameter `mouse-color' and face `mouse'. | |
630 | |
631 Changing frame parameter `font' sets font-related attributes of the | |
632 `default' face and vice versa. Setting frame parameters | |
633 `foreground-color' or `background-color' sets the colors of the | |
634 `default' face and vice versa. | |
635 | |
636 +++ | |
637 ** New face `menu'. | |
638 | |
639 The face `menu' can be used to change colors and font of Emacs' menus. | |
640 | |
641 +++ | |
642 ** New frame parameter `screen-gamma' for gamma correction. | |
643 | |
644 The new frame parameter `screen-gamma' specifies gamma-correction for | |
645 colors. Its value may be nil, the default, in which case no gamma | |
646 correction occurs, or a number > 0, usually a float, that specifies | |
647 the screen gamma of a frame's display. | |
648 | |
649 PC monitors usually have a screen gamma of 2.2. smaller values result | |
650 in darker colors. You might want to try a screen gamma of 1.5 for LCD | |
651 color displays. The viewing gamma Emacs uses is 0.4545. (1/2.2). | |
652 | |
653 The X resource name of this parameter is `screenGamma', class | |
654 `ScreenGamma'. | |
655 | |
656 ** Tabs and variable-width text. | |
657 | |
658 Tabs are now displayed with stretch properties; the width of a tab is | |
659 defined as a multiple of the normal character width of a frame, and is | |
660 independent of the fonts used in the text where the tab appears. | |
661 Thus, tabs can be used to line up text in different fonts. | |
662 | |
663 ** Enhancements of the Lucid menu bar | |
664 | |
665 +++ | |
666 *** The Lucid menu bar now supports the resource "margin". | |
667 | |
668 emacs.pane.menubar.margin: 5 | |
669 | |
670 The default margin is 4 which makes the menu bar appear like the | |
671 LessTif/Motif one. | |
672 | |
673 *** Arrows that indicate sub-menus are now drawn with shadows, as in | |
674 LessTif and Motif. | |
675 | |
676 +++ | |
677 ** A block cursor can be drawn as wide as the glyph under it under X. | |
678 | |
679 As an example: if a block cursor is over a tab character, it will be | |
680 drawn as wide as that tab on the display. To do this, set | |
681 `x-stretch-cursor' to a non-nil value. | |
682 | |
683 +++ | |
684 ** Empty display lines at the end of a buffer may be marked with a | |
685 bitmap (this is similar to the tilde displayed by vi and Less). | |
686 | |
687 This behavior is activated by setting the buffer-local variable | |
688 `indicate-empty-lines' to a non-nil value. The default value of this | |
689 variable is found in `default-indicate-empty-lines'. | |
690 | |
691 +++ | |
692 ** There is a new "aggressive" scrolling method. | |
693 | |
694 When scrolling up because point is above the window start, if the | |
695 value of the buffer-local variable `scroll-up-aggressively' is a | |
696 number, Emacs chooses a new window start so that point ends up that | |
697 fraction of the window's height from the top of the window. | |
698 | |
699 When scrolling down because point is below the window end, if the | |
700 value of the buffer-local variable `scroll-down-aggressively' is a | |
701 number, Emacs chooses a new window start so that point ends up that | |
702 fraction of the window's height from the bottom of the window. | |
703 | |
704 +++ | |
705 ** You can now easily create new *Info* buffers using either | |
706 M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET. | |
707 M-x clone-buffer can also be used on *Help* and several other special | |
708 buffers. | |
709 | |
710 ** The command `Info-search' now uses a search history. | |
711 | |
712 ** Listing buffers with M-x list-buffers (C-x C-b) now shows | |
713 abbreviated file names. Abbreviations can be customized by changing | |
714 `directory-abbrev-alist'. | |
715 | |
716 +++ | |
717 ** A new variable, backup-by-copying-when-privileged-mismatch, gives | |
718 the highest file uid for which backup-by-copying-when-mismatch will be | |
719 forced on. The assumption is that uids less than or equal to this | |
720 value are special uids (root, bin, daemon, etc.--not real system | |
721 users) and that files owned by these users should not change ownership, | |
722 even if your system policy allows users other than root to edit them. | |
723 | |
724 The default is 200; set the variable to nil to disable the feature. | |
725 | |
726 ** The rectangle commands now avoid inserting undesirable spaces, | |
727 notably at the end of lines. | |
728 | |
729 All these functions have been rewritten to avoid inserting unwanted | |
730 spaces, and an optional prefix now allows them to behave the old way. | |
731 | |
732 +++ | |
733 ** The function `replace-rectangle' is an alias for `string-rectangle'. | |
734 | |
735 ** The new command M-x string-insert-rectangle is like `string-rectangle', | |
736 but inserts text instead of replacing it. | |
737 | |
738 ** The new command M-x query-replace-regexp-eval acts like | |
739 query-replace-regexp, but takes a Lisp expression which is evaluated | |
740 after each match to get the replacement text. | |
741 | |
742 +++ | |
743 ** M-x query-replace recognizes a new command `e' (or `E') that lets | |
744 you edit the replacement string. | |
745 | |
746 ** The new command mail-abbrev-complete-alias, bound to `M-TAB', lets | |
747 you complete mail aliases in the text, analogous to | |
748 lisp-complete-symbol. | |
749 | |
698 +++ | 750 +++ |
699 ** The variable `echo-keystrokes' may now have a floating point value. | 751 ** The variable `echo-keystrokes' may now have a floating point value. |
700 | 752 |
701 ** If your init file is compiled (.emacs.elc), `user-init-file' is set | 753 ** If your init file is compiled (.emacs.elc), `user-init-file' is set |
702 to the source name (.emacs.el), if that exists, after loading it. | 754 to the source name (.emacs.el), if that exists, after loading it. |
708 | 760 |
709 ** New user option `read-mail-command' specifies a command to use to | 761 ** New user option `read-mail-command' specifies a command to use to |
710 read mail from the menu etc. | 762 read mail from the menu etc. |
711 | 763 |
712 +++ | 764 +++ |
713 ** Hexl contains a new command `hexl-insert-hex-string' which inserts | 765 ** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows. |
714 a string of hexadecimal numbers read from the mini-buffer. | 766 This environment variable was used when creating lock files. Emacs on |
767 MS-Windows does not use this variable anymore. This change was made | |
768 before Emacs 21.1, but wasn't documented until now. | |
769 | |
770 +++ | |
771 ** Highlighting of mouse-sensitive regions is now supported in the | |
772 MS-DOS version of Emacs. | |
773 | |
774 +++ | |
775 ** The new command `msdos-set-mouse-buttons' forces the MS-DOS version | |
776 of Emacs to behave as if the mouse had a specified number of buttons. | |
777 This comes handy with mice that don't report their number of buttons | |
778 correctly. One example is the wheeled mice, which report 3 buttons, | |
779 but clicks on the middle button are not passed to the MS-DOS version | |
780 of Emacs. | |
781 | |
782 +++ | |
783 ** Customize changes | |
784 | |
785 *** Customize now supports comments about customized items. Use the | |
786 `State' menu to add comments, or give a prefix argument to | |
787 M-x customize-set-variable or M-x customize-set-value. Note that | |
788 customization comments will cause the customizations to fail in | |
789 earlier versions of Emacs. | |
790 | |
791 *** The new option `custom-buffer-done-function' says whether to kill | |
792 Custom buffers when you've done with them or just bury them (the | |
793 default). | |
794 | |
795 *** If Emacs was invoked with the `-q' or `--no-init-file' options, it | |
796 does not allow you to save customizations in your `~/.emacs' init | |
797 file. This is because saving customizations from such a session would | |
798 wipe out all the other customizationss you might have on your init | |
799 file. | |
800 | |
801 ** New features in evaluation commands | |
802 | |
803 *** The commands to evaluate Lisp expressions, such as C-M-x in Lisp | |
804 modes, C-j in Lisp Interaction mode, and M-:, now bind the variables | |
805 print-level, print-length, and debug-on-error based on the new | |
806 customizable variables eval-expression-print-level, | |
807 eval-expression-print-length, and eval-expression-debug-on-error. | |
808 | |
809 The default values for the first two of these variables are 12 and 4 | |
810 respectively, which means that `eval-expression' now prints at most | |
811 the first 12 members of a list and at most 4 nesting levels deep (if | |
812 the list is longer or deeper than that, an ellipsis `...' is | |
813 printed). | |
814 | |
815 <RET> or <mouse-2> on the printed text toggles between an abbreviated | |
816 printed representation and an unabbreviated one. | |
817 | |
818 The default value of eval-expression-debug-on-error is t, so any error | |
819 during evaluation produces a backtrace. | |
820 | |
821 *** The function `eval-defun' (M-C-x) now loads Edebug and instruments | |
822 code when called with a prefix argument. | |
823 | |
824 ** CC mode changes. | |
825 | |
826 Note: This release contains changes that might not be compatible with | |
827 current user setups (although it's believed that these | |
828 incompatibilities will only show in very uncommon circumstances). | |
829 However, since the impact is uncertain, these changes may be rolled | |
830 back depending on user feedback. Therefore there's no forward | |
831 compatibility guarantee wrt the new features introduced in this | |
832 release. | |
833 | |
834 *** The hardcoded switch to "java" style in Java mode is gone. | |
835 CC Mode used to automatically set the style to "java" when Java mode | |
836 is entered. This has now been removed since it caused too much | |
837 confusion. | |
838 | |
839 However, to keep backward compatibility to a certain extent, the | |
840 default value for c-default-style now specifies the "java" style for | |
841 java-mode, but "gnu" for all other modes (as before). So you won't | |
842 notice the change if you haven't touched that variable. | |
843 | |
844 *** New cleanups, space-before-funcall and compact-empty-funcall. | |
845 Two new cleanups have been added to c-cleanup-list: | |
846 | |
847 space-before-funcall causes a space to be inserted before the opening | |
848 parenthesis of a function call, which gives the style "foo (bar)". | |
849 | |
850 compact-empty-funcall causes any space before a function call opening | |
851 parenthesis to be removed if there are no arguments to the function. | |
852 It's typically useful together with space-before-funcall to get the | |
853 style "foo (bar)" and "foo()". | |
854 | |
855 *** Some keywords now automatically trigger reindentation. | |
856 Keywords like "else", "while", "catch" and "finally" have been made | |
857 "electric" to make them reindent automatically when they continue an | |
858 earlier statement. An example: | |
859 | |
860 for (i = 0; i < 17; i++) | |
861 if (a[i]) | |
862 res += a[i]->offset; | |
863 else | |
864 | |
865 Here, the "else" should be indented like the preceding "if", since it | |
866 continues that statement. CC Mode will automatically reindent it after | |
867 the "else" has been typed in full, since it's not until then it's | |
868 possible to decide whether it's a new statement or a continuation of | |
869 the preceding "if". | |
870 | |
871 CC Mode uses Abbrev mode to achieve this, which is therefore turned on | |
872 by default. | |
873 | |
874 *** M-a and M-e now moves by sentence in multiline strings. | |
875 Previously these two keys only moved by sentence in comments, which | |
876 meant that sentence movement didn't work in strings containing | |
877 documentation or other natural language text. | |
878 | |
879 The reason it's only activated in multiline strings (i.e. strings that | |
880 contain a newline, even when escaped by a '\') is to avoid stopping in | |
881 the short strings that often reside inside statements. Multiline | |
882 strings almost always contain text in a natural language, as opposed | |
883 to other strings that typically contain format specifications, | |
884 commands, etc. Also, it's not that bothersome that M-a and M-e misses | |
885 sentences in single line strings, since they're short anyway. | |
886 | |
887 *** Support for autodoc comments in Pike mode. | |
888 Autodoc comments for Pike are used to extract documentation from the | |
889 source, like Javadoc in Java. Pike mode now recognize this markup in | |
890 comment prefixes and paragraph starts. | |
891 | |
892 *** The comment prefix regexps on c-comment-prefix may be mode specific. | |
893 When c-comment-prefix is an association list, it specifies the comment | |
894 line prefix on a per-mode basis, like c-default-style does. This | |
895 change came about to support the special autodoc comment prefix in | |
896 Pike mode only. | |
897 | |
898 *** Better handling of syntactic errors. | |
899 The recovery after unbalanced parens earlier in the buffer has been | |
900 improved; CC Mode now reports them by dinging and giving a message | |
901 stating the offending line, but still recovers and indent the | |
902 following lines in a sane way (most of the time). An "else" with no | |
903 matching "if" is handled similarly. If an error is discovered while | |
904 indenting a region, the whole region is still indented and the error | |
905 is reported afterwards. | |
906 | |
907 *** Lineup functions may now return absolute columns. | |
908 A lineup function can give an absolute column to indent the line to by | |
909 returning a vector with the desired column as the first element. | |
910 | |
911 *** More robust and warning-free byte compilation. | |
912 Although this is strictly not a user visible change (well, depending | |
913 on the view of a user), it's still worth mentioning that CC Mode now | |
914 can be compiled in the standard ways without causing trouble. Some | |
915 code have also been moved between the subpackages to enhance the | |
916 modularity somewhat. Thanks to Martin Buchholz for doing the | |
917 groundwork. | |
918 | |
919 *** c-style-variables-are-local-p now defaults to t. | |
920 This is an incompatible change that has been made to make the behavior | |
921 of the style system wrt global variable settings less confusing for | |
922 non-advanced users. If you know what this variable does you might | |
923 want to set it to nil in your .emacs, otherwise you probably don't | |
924 have to bother. | |
925 | |
926 Defaulting c-style-variables-are-local-p to t avoids the confusing | |
927 situation that occurs when a user sets some style variables globally | |
928 and edits both a Java and a non-Java file in the same Emacs session. | |
929 If the style variables aren't buffer local in this case, loading of | |
930 the second file will cause the default style (either "gnu" or "java" | |
931 by default) to override the global settings made by the user. | |
932 | |
933 *** New initialization procedure for the style system. | |
934 When the initial style for a buffer is determined by CC Mode (from the | |
935 variable c-default-style), the global values of style variables now | |
936 take precedence over the values specified by the chosen style. This | |
937 is different than the old behavior: previously, the style-specific | |
938 settings would override the global settings. This change makes it | |
939 possible to do simple configuration in the intuitive way with | |
940 Customize or with setq lines in one's .emacs file. | |
941 | |
942 By default, the global value of every style variable is the new | |
943 special symbol set-from-style, which causes the value to be taken from | |
944 the style system. This means that in effect, only an explicit setting | |
945 of a style variable will cause the "overriding" behavior described | |
946 above. | |
947 | |
948 Also note that global settings override style-specific settings *only* | |
949 when the initial style of a buffer is chosen by a CC Mode major mode | |
950 function. When a style is chosen in other ways --- for example, by a | |
951 call like (c-set-style "gnu") in a hook, or via M-x c-set-style --- | |
952 then the style-specific values take precedence over any global style | |
953 values. In Lisp terms, global values override style-specific values | |
954 only when the new second argument to c-set-style is non-nil; see the | |
955 function documentation for more info. | |
956 | |
957 The purpose of these changes is to make it easier for users, | |
958 especially novice users, to do simple customizations with Customize or | |
959 with setq in their .emacs files. On the other hand, the new system is | |
960 intended to be compatible with advanced users' customizations as well, | |
961 such as those that choose styles in hooks or whatnot. This new system | |
962 is believed to be almost entirely compatible with current | |
963 configurations, in spite of the changed precedence between style and | |
964 global variable settings when a buffer's default style is set. | |
965 | |
966 (Thanks to Eric Eide for clarifying this explanation a bit.) | |
967 | |
968 **** c-offsets-alist is now a customizable variable. | |
969 This became possible as a result of the new initialization behavior. | |
970 | |
971 This variable is treated slightly differently from the other style | |
972 variables; instead of using the symbol set-from-style, it will be | |
973 completed with the syntactic symbols it doesn't already contain when | |
974 the style is first initialized. This means it now defaults to the | |
975 empty list to make all syntactic elements get their values from the | |
976 style system. | |
977 | |
978 **** Compatibility variable to restore the old behavior. | |
979 In case your configuration doesn't work with this change, you can set | |
980 c-old-style-variable-behavior to non-nil to get the old behavior back | |
981 as far as possible. | |
982 | |
983 *** Improvements to line breaking and text filling. | |
984 CC Mode now handles this more intelligently and seamlessly wrt the | |
985 surrounding code, especially inside comments. For details see the new | |
986 chapter about this in the manual. | |
987 | |
988 **** New variable to recognize comment line prefix decorations. | |
989 The variable c-comment-prefix-regexp has been added to properly | |
990 recognize the line prefix in both block and line comments. It's | |
991 primarily used to initialize the various paragraph recognition and | |
992 adaptive filling variables that the text handling functions uses. | |
993 | |
994 **** New variable c-block-comment-prefix. | |
995 This is a generalization of the now obsolete variable | |
996 c-comment-continuation-stars to handle arbitrary strings. | |
997 | |
998 **** CC Mode now uses adaptive fill mode. | |
999 This to make it adapt better to the paragraph style inside comments. | |
1000 | |
1001 It's also possible to use other adaptive filling packages inside CC | |
1002 Mode, notably Kyle E. Jones' Filladapt mode (http://wonderworks.com/). | |
1003 A new convenience function c-setup-filladapt sets up Filladapt for use | |
1004 inside CC Mode. | |
1005 | |
1006 Note though that the 2.12 version of Filladapt lacks a feature that | |
1007 causes it to work suboptimally when c-comment-prefix-regexp can match | |
1008 the empty string (which it commonly does). A patch for that is | |
1009 available from the CC Mode web site (http://www.python.org/emacs/ | |
1010 cc-mode/). | |
1011 | |
1012 **** The variables `c-hanging-comment-starter-p' and | |
1013 `c-hanging-comment-ender-p', which controlled how comment starters and | |
1014 enders were filled, are not used anymore. The new version of the | |
1015 function `c-fill-paragraph' keeps the comment starters and enders as | |
1016 they were before the filling. | |
1017 | |
1018 **** It's now possible to selectively turn off auto filling. | |
1019 The variable c-ignore-auto-fill is used to ignore auto fill mode in | |
1020 specific contexts, e.g. in preprocessor directives and in string | |
1021 literals. | |
1022 | |
1023 **** New context sensitive line break function c-context-line-break. | |
1024 It works like newline-and-indent in normal code, and adapts the line | |
1025 prefix according to the comment style when used inside comments. If | |
1026 you're normally using newline-and-indent, you might want to switch to | |
1027 this function. | |
1028 | |
1029 *** Fixes to IDL mode. | |
1030 It now does a better job in recognizing only the constructs relevant | |
1031 to IDL. E.g. it no longer matches "class" as the beginning of a | |
1032 struct block, but it does match the CORBA 2.3 "valuetype" keyword. | |
1033 Thanks to Eric Eide. | |
1034 | |
1035 *** Improvements to the Whitesmith style. | |
1036 It now keeps the style consistently on all levels and both when | |
1037 opening braces hangs and when they don't. | |
1038 | |
1039 **** New lineup function c-lineup-whitesmith-in-block. | |
1040 | |
1041 *** New lineup functions c-lineup-template-args and c-indent-multi-line-block. | |
1042 See their docstrings for details. c-lineup-template-args does a | |
1043 better job of tracking the brackets used as parens in C++ templates, | |
1044 and is used by default to line up continued template arguments. | |
1045 | |
1046 *** c-lineup-comment now preserves alignment with a comment on the | |
1047 previous line. It used to instead preserve comments that started in | |
1048 the column specified by comment-column. | |
1049 | |
1050 *** c-lineup-C-comments handles "free form" text comments. | |
1051 In comments with a long delimiter line at the start, the indentation | |
1052 is kept unchanged for lines that start with an empty comment line | |
1053 prefix. This is intended for the type of large block comments that | |
1054 contain documentation with its own formatting. In these you normally | |
1055 don't want CC Mode to change the indentation. | |
1056 | |
1057 *** The `c' syntactic symbol is now relative to the comment start | |
1058 instead of the previous line, to make integers usable as lineup | |
1059 arguments. | |
1060 | |
1061 *** All lineup functions have gotten docstrings. | |
1062 | |
1063 *** More preprocessor directive movement functions. | |
1064 c-down-conditional does the reverse of c-up-conditional. | |
1065 c-up-conditional-with-else and c-down-conditional-with-else are | |
1066 variants of these that also stops at "#else" lines (suggested by Don | |
1067 Provan). | |
1068 | |
1069 *** Minor improvements to many movement functions in tricky situations. | |
1070 | |
1071 ** Dired changes | |
1072 | |
1073 *** New variable `dired-recursive-deletes' determines if the delete | |
1074 command will delete non-empty directories recursively. The default | |
1075 is, delete only empty directories. | |
1076 | |
1077 *** New variable `dired-recursive-copies' determines if the copy | |
1078 command will copy directories recursively. The default is, do not | |
1079 copy directories recursively. | |
1080 | |
1081 *** In command `dired-do-shell-command' (usually bound to `!') a `?' | |
1082 in the shell command has a special meaning similar to `*', but with | |
1083 the difference that the command will be run on each file individually. | |
1084 | |
1085 *** The new command `dired-find-alternate-file' (usually bound to `a') | |
1086 replaces the Dired buffer with the buffer for an alternate file or | |
1087 directory. | |
1088 | |
1089 *** The new command `dired-show-file-type' (usually bound to `w') shows | |
1090 a message in the echo area describing what type of file the point is on. | |
1091 This command invokes the external program `file' do its work, and so | |
1092 will only work on systems with that program, and will be only as | |
1093 accurate or inaccurate as it is. | |
1094 | |
1095 *** Dired now properly handles undo changes of adding/removing `-R' | |
1096 from ls switches. | |
1097 | |
1098 *** Dired commands that prompt for a destination file now allow the use | |
1099 of the `M-n' command in the minibuffer to insert the source filename, | |
1100 which the user can then edit. This only works if there is a single | |
1101 source file, not when operating on multiple marked files. | |
1102 | |
1103 +++ | |
1104 ** Gnus changes. | |
1105 | |
1106 The Gnus NEWS entries are short, but they reflect sweeping changes in | |
1107 four areas: Article display treatment, MIME treatment, | |
1108 internationalization and mail-fetching. | |
1109 | |
1110 *** The mail-fetching functions have changed. See the manual for the | |
1111 many details. In particular, all procmail fetching variables are gone. | |
1112 | |
1113 If you used procmail like in | |
1114 | |
1115 (setq nnmail-use-procmail t) | |
1116 (setq nnmail-spool-file 'procmail) | |
1117 (setq nnmail-procmail-directory "~/mail/incoming/") | |
1118 (setq nnmail-procmail-suffix "\\.in") | |
1119 | |
1120 this now has changed to | |
1121 | |
1122 (setq mail-sources | |
1123 '((directory :path "~/mail/incoming/" | |
1124 :suffix ".in"))) | |
1125 | |
1126 More information is available in the info doc at Select Methods -> | |
1127 Getting Mail -> Mail Sources | |
1128 | |
1129 *** Gnus is now a MIME-capable reader. This affects many parts of | |
1130 Gnus, and adds a slew of new commands. See the manual for details. | |
1131 Separate MIME packages like RMIME, mime-compose etc., will probably no | |
1132 longer work; remove them and use the native facilities. | |
1133 | |
1134 The FLIM/SEMI package still works with Emacs 21, but if you want to | |
1135 use the native facilities, you must remove any mailcap.el[c] that was | |
1136 installed by FLIM/SEMI version 1.13 or earlier. | |
1137 | |
1138 *** Gnus has also been multilingualized. This also affects too many | |
1139 parts of Gnus to summarize here, and adds many new variables. There | |
1140 are built-in facilities equivalent to those of gnus-mule.el, which is | |
1141 now just a compatibility layer. | |
1142 | |
1143 *** gnus-auto-select-first can now be a function to be | |
1144 called to position point. | |
1145 | |
1146 *** The user can now decide which extra headers should be included in | |
1147 summary buffers and NOV files. | |
1148 | |
1149 *** `gnus-article-display-hook' has been removed. Instead, a number | |
1150 of variables starting with `gnus-treat-' have been added. | |
1151 | |
1152 *** The Gnus posting styles have been redone again and now work in a | |
1153 subtly different manner. | |
1154 | |
1155 *** New web-based backends have been added: nnslashdot, nnwarchive | |
1156 and nnultimate. nnweb has been revamped, again, to keep up with | |
1157 ever-changing layouts. | |
1158 | |
1159 *** Gnus can now read IMAP mail via nnimap. | |
1160 | |
1161 *** There is image support of various kinds and some sound support. | |
715 | 1162 |
716 ** Changes in Texinfo mode. | 1163 ** Changes in Texinfo mode. |
717 | 1164 |
718 *** A couple of new key bindings have been added for inserting Texinfo | 1165 *** A couple of new key bindings have been added for inserting Texinfo |
719 macros | 1166 macros |
760 | 1207 |
761 +++ | 1208 +++ |
762 ** New command M-x check-parens can be used to find unbalanced paren | 1209 ** New command M-x check-parens can be used to find unbalanced paren |
763 groups and strings in buffers in Lisp mode (or other modes). | 1210 groups and strings in buffers in Lisp mode (or other modes). |
764 | 1211 |
765 +++ | |
766 ** You can now easily create new *Info* buffers using either | |
767 M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET. | |
768 M-x clone-buffer can also be used on *Help* and several other special | |
769 buffers. | |
770 | |
771 ** Listing buffers with M-x list-buffers (C-x C-b) now shows | |
772 abbreviated file names. Abbreviations can be customized by changing | |
773 `directory-abbrev-alist'. | |
774 | |
775 ** Faces and frame parameters. | |
776 | |
777 There are four new faces `scroll-bar', `border', `cursor' and `mouse'. | |
778 Setting the frame parameters `scroll-bar-foreground' and | |
779 `scroll-bar-background' sets foreground and background color of face | |
780 `scroll-bar' and vice versa. Setting frame parameter `border-color' | |
781 sets the background color of face `border' and vice versa. Likewise | |
782 for frame parameters `cursor-color' and face `cursor', and frame | |
783 parameter `mouse-color' and face `mouse'. | |
784 | |
785 Changing frame parameter `font' sets font-related attributes of the | |
786 `default' face and vice versa. Setting frame parameters | |
787 `foreground-color' or `background-color' sets the colors of the | |
788 `default' face and vice versa. | |
789 | |
790 +++ | |
791 ** New face `menu'. | |
792 | |
793 The face `menu' can be used to change colors and font of Emacs' menus. | |
794 | |
795 +++ | |
796 ** New frame parameter `screen-gamma' for gamma correction. | |
797 | |
798 The new frame parameter `screen-gamma' specifies gamma-correction for | |
799 colors. Its value may be nil, the default, in which case no gamma | |
800 correction occurs, or a number > 0, usually a float, that specifies | |
801 the screen gamma of a frame's display. | |
802 | |
803 PC monitors usually have a screen gamma of 2.2. smaller values result | |
804 in darker colors. You might want to try a screen gamma of 1.5 for LCD | |
805 color displays. The viewing gamma Emacs uses is 0.4545. (1/2.2). | |
806 | |
807 The X resource name of this parameter is `screenGamma', class | |
808 `ScreenGamma'. | |
809 | |
810 ** Tabs and variable-width text. | |
811 | |
812 Tabs are now displayed with stretch properties; the width of a tab is | |
813 defined as a multiple of the normal character width of a frame, and is | |
814 independent of the fonts used in the text where the tab appears. | |
815 Thus, tabs can be used to line up text in different fonts. | |
816 | |
817 ** Enhancements of the Lucid menu bar | |
818 | |
819 +++ | |
820 *** The Lucid menu bar now supports the resource "margin". | |
821 | |
822 emacs.pane.menubar.margin: 5 | |
823 | |
824 The default margin is 4 which makes the menu bar appear like the | |
825 LessTif/Motif one. | |
826 | |
827 *** Arrows that indicate sub-menus are now drawn with shadows, as in | |
828 LessTif and Motif. | |
829 | |
830 ** Sound support | |
831 | |
832 Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware | |
833 driver and native BSD driver, a.k.a. Luigi's driver). Currently | |
834 supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au). | |
835 | |
836 +++ | |
837 ** A new variable, backup-by-copying-when-privileged-mismatch, gives | |
838 the highest file uid for which backup-by-copying-when-mismatch will be | |
839 forced on. The assumption is that uids less than or equal to this | |
840 value are special uids (root, bin, daemon, etc.--not real system | |
841 users) and that files owned by these users should not change ownership, | |
842 even if your system policy allows users other than root to edit them. | |
843 | |
844 The default is 200; set the variable to nil to disable the feature. | |
845 | |
846 +++ | |
847 ** A block cursor can be drawn as wide as the glyph under it under X. | |
848 | |
849 As an example: if a block cursor is over a tab character, it will be | |
850 drawn as wide as that tab on the display. To do this, set | |
851 `x-stretch-cursor' to a non-nil value. | |
852 | |
853 +++ | |
854 ** Empty display lines at the end of a buffer may be marked with a | |
855 bitmap (this is similar to the tilde displayed by vi). | |
856 | |
857 This behavior is activated by setting the buffer-local variable | |
858 `indicate-empty-lines' to a non-nil value. The default value of this | |
859 variable is found in `default-indicate-empty-lines'. | |
860 | |
861 +++ | |
862 ** There is a new "aggressive" scrolling method. | |
863 | |
864 When scrolling up because point is above the window start, if the | |
865 value of the buffer-local variable `scroll-up-aggressively' is a | |
866 number, Emacs chooses a new window start so that point ends up that | |
867 fraction of the window's height from the top of the window. | |
868 | |
869 When scrolling down because point is below the window end, if the | |
870 value of the buffer-local variable `scroll-down-aggressively' is a | |
871 number, Emacs chooses a new window start so that point ends up that | |
872 fraction of the window's height from the bottom of the window. | |
873 | |
874 ** The rectangle commands now avoid inserting undesirable spaces, | |
875 notably at the end of lines. | |
876 | |
877 All these functions have been rewritten to avoid inserting unwanted | |
878 spaces, and an optional prefix now allows them to behave the old way. | |
879 | |
880 +++ | |
881 ** The function `replace-rectangle' is an alias for `string-rectangle'. | |
882 | |
883 ** The new command M-x string-insert-rectangle is like `string-rectangle', | |
884 but inserts text instead of replacing it. | |
885 | |
886 ** The new command M-x query-replace-regexp-eval acts like | |
887 query-replace-regexp, but takes a Lisp expression which is evaluated | |
888 after each match to get the replacement text. | |
889 | |
890 +++ | |
891 ** M-x query-replace recognizes a new command `e' (or `E') that lets | |
892 you edit the replacement string. | |
893 | |
894 ** The new command mail-abbrev-complete-alias, bound to `M-TAB', lets | |
895 you complete mail aliases in the text, analogous to | |
896 lisp-complete-symbol. | |
897 | |
898 ** The command `Info-search' now uses a search history. | |
899 | |
900 ** Changes to hideshow.el | 1212 ** Changes to hideshow.el |
901 | 1213 |
902 *** Generalized block selection and traversal | 1214 *** Generalized block selection and traversal |
903 | 1215 |
904 A block is now recognized by its start and end regexps (both strings), | 1216 A block is now recognized by its start and end regexps (both strings), |
1116 defaults to 1. | 1428 defaults to 1. |
1117 | 1429 |
1118 ** Partial Completion mode now completes environment variables in | 1430 ** Partial Completion mode now completes environment variables in |
1119 file names. | 1431 file names. |
1120 | 1432 |
1121 +++ | |
1122 ** Customize changes | |
1123 | |
1124 *** Customize now supports comments about customized items. Use the | |
1125 `State' menu to add comments, or give a prefix argument to | |
1126 M-x customize-set-variable or M-x customize-set-value. Note that | |
1127 customization comments will cause the customizations to fail in | |
1128 earlier versions of Emacs. | |
1129 | |
1130 *** The new option `custom-buffer-done-function' says whether to kill | |
1131 Custom buffers when you've done with them or just bury them (the | |
1132 default). | |
1133 | |
1134 *** If Emacs was invoked with the `-q' or `--no-init-file' options, it | |
1135 does not allow you to save customizations in your `~/.emacs' init | |
1136 file. This is because saving customizations from such a session would | |
1137 wipe out all the other customizationss you might have on your init | |
1138 file. | |
1139 | |
1140 ** New features in evaluation commands | |
1141 | |
1142 *** The commands to evaluate Lisp expressions, such as C-M-x in Lisp | |
1143 modes, C-j in Lisp Interaction mode, and M-:, now bind the variables | |
1144 print-level, print-length, and debug-on-error based on the new | |
1145 customizable variables eval-expression-print-level, | |
1146 eval-expression-print-length, and eval-expression-debug-on-error. | |
1147 | |
1148 The default values for the first two of these variables are 12 and 4 | |
1149 respectively, which means that `eval-expression' now prints at most | |
1150 the first 12 members of a list and at most 4 nesting levels deep (if | |
1151 the list is longer or deeper than that, an ellipsis `...' is | |
1152 printed). | |
1153 | |
1154 <RET> or <mouse-2> on the printed text toggles between an abbreviated | |
1155 printed representation and an unabbreviated one. | |
1156 | |
1157 The default value of eval-expression-debug-on-error is t, so any error | |
1158 during evaluation produces a backtrace. | |
1159 | |
1160 *** The function `eval-defun' (M-C-x) now loads Edebug and instruments | |
1161 code when called with a prefix argument. | |
1162 | |
1163 ** Ispell changes | 1433 ** Ispell changes |
1164 | 1434 |
1165 +++ | 1435 +++ |
1166 *** The command `ispell' now spell-checks a region if | 1436 *** The command `ispell' now spell-checks a region if |
1167 transient-mark-mode is on, and the mark is active. Otherwise it | 1437 transient-mark-mode is on, and the mark is active. Otherwise it |
1183 on syntax errors. | 1453 on syntax errors. |
1184 | 1454 |
1185 *** The buffer-local words are now always placed on a new line at the | 1455 *** The buffer-local words are now always placed on a new line at the |
1186 end of the buffer. | 1456 end of the buffer. |
1187 | 1457 |
1188 ** Dired changes | 1458 *** Spell checking now works in the MS-DOS version of Emacs. |
1189 | |
1190 *** New variable `dired-recursive-deletes' determines if the delete | |
1191 command will delete non-empty directories recursively. The default | |
1192 is, delete only empty directories. | |
1193 | |
1194 *** New variable `dired-recursive-copies' determines if the copy | |
1195 command will copy directories recursively. The default is, do not | |
1196 copy directories recursively. | |
1197 | |
1198 *** In command `dired-do-shell-command' (usually bound to `!') a `?' | |
1199 in the shell command has a special meaning similar to `*', but with | |
1200 the difference that the command will be run on each file individually. | |
1201 | |
1202 *** The new command `dired-find-alternate-file' (usually bound to `a') | |
1203 replaces the Dired buffer with the buffer for an alternate file or | |
1204 directory. | |
1205 | |
1206 *** The new command `dired-show-file-type' (usually bound to `w') shows | |
1207 a message in the echo area describing what type of file the point is on. | |
1208 This command invokes the external program `file' do its work, and so | |
1209 will only work on systems with that program, and will be only as | |
1210 accurate or inaccurate as it is. | |
1211 | |
1212 *** Dired now properly handles undo changes of adding/removing `-R' | |
1213 from ls switches. | |
1214 | |
1215 *** Dired commands that prompt for a destination file now allow the use | |
1216 of the `M-n' command in the minibuffer to insert the source filename, | |
1217 which the user can then edit. This only works if there is a single | |
1218 source file, not when operating on multiple marked files. | |
1219 | 1459 |
1220 ** The variable mail-specify-envelope-from controls whether to | 1460 ** The variable mail-specify-envelope-from controls whether to |
1221 use the -f option when sending mail. | 1461 use the -f option when sending mail. |
1222 | |
1223 ** CC mode changes. | |
1224 | |
1225 Note: This release contains changes that might not be compatible with | |
1226 current user setups (although it's believed that these | |
1227 incompatibilities will only show in very uncommon circumstances). | |
1228 However, since the impact is uncertain, these changes may be rolled | |
1229 back depending on user feedback. Therefore there's no forward | |
1230 compatibility guarantee wrt the new features introduced in this | |
1231 release. | |
1232 | |
1233 *** The hardcoded switch to "java" style in Java mode is gone. | |
1234 CC Mode used to automatically set the style to "java" when Java mode | |
1235 is entered. This has now been removed since it caused too much | |
1236 confusion. | |
1237 | |
1238 However, to keep backward compatibility to a certain extent, the | |
1239 default value for c-default-style now specifies the "java" style for | |
1240 java-mode, but "gnu" for all other modes (as before). So you won't | |
1241 notice the change if you haven't touched that variable. | |
1242 | |
1243 *** New cleanups, space-before-funcall and compact-empty-funcall. | |
1244 Two new cleanups have been added to c-cleanup-list: | |
1245 | |
1246 space-before-funcall causes a space to be inserted before the opening | |
1247 parenthesis of a function call, which gives the style "foo (bar)". | |
1248 | |
1249 compact-empty-funcall causes any space before a function call opening | |
1250 parenthesis to be removed if there are no arguments to the function. | |
1251 It's typically useful together with space-before-funcall to get the | |
1252 style "foo (bar)" and "foo()". | |
1253 | |
1254 *** Some keywords now automatically trigger reindentation. | |
1255 Keywords like "else", "while", "catch" and "finally" have been made | |
1256 "electric" to make them reindent automatically when they continue an | |
1257 earlier statement. An example: | |
1258 | |
1259 for (i = 0; i < 17; i++) | |
1260 if (a[i]) | |
1261 res += a[i]->offset; | |
1262 else | |
1263 | |
1264 Here, the "else" should be indented like the preceding "if", since it | |
1265 continues that statement. CC Mode will automatically reindent it after | |
1266 the "else" has been typed in full, since it's not until then it's | |
1267 possible to decide whether it's a new statement or a continuation of | |
1268 the preceding "if". | |
1269 | |
1270 CC Mode uses Abbrev mode to achieve this, which is therefore turned on | |
1271 by default. | |
1272 | |
1273 *** M-a and M-e now moves by sentence in multiline strings. | |
1274 Previously these two keys only moved by sentence in comments, which | |
1275 meant that sentence movement didn't work in strings containing | |
1276 documentation or other natural language text. | |
1277 | |
1278 The reason it's only activated in multiline strings (i.e. strings that | |
1279 contain a newline, even when escaped by a '\') is to avoid stopping in | |
1280 the short strings that often reside inside statements. Multiline | |
1281 strings almost always contain text in a natural language, as opposed | |
1282 to other strings that typically contain format specifications, | |
1283 commands, etc. Also, it's not that bothersome that M-a and M-e misses | |
1284 sentences in single line strings, since they're short anyway. | |
1285 | |
1286 *** Support for autodoc comments in Pike mode. | |
1287 Autodoc comments for Pike are used to extract documentation from the | |
1288 source, like Javadoc in Java. Pike mode now recognize this markup in | |
1289 comment prefixes and paragraph starts. | |
1290 | |
1291 *** The comment prefix regexps on c-comment-prefix may be mode specific. | |
1292 When c-comment-prefix is an association list, it specifies the comment | |
1293 line prefix on a per-mode basis, like c-default-style does. This | |
1294 change came about to support the special autodoc comment prefix in | |
1295 Pike mode only. | |
1296 | |
1297 *** Better handling of syntactic errors. | |
1298 The recovery after unbalanced parens earlier in the buffer has been | |
1299 improved; CC Mode now reports them by dinging and giving a message | |
1300 stating the offending line, but still recovers and indent the | |
1301 following lines in a sane way (most of the time). An "else" with no | |
1302 matching "if" is handled similarly. If an error is discovered while | |
1303 indenting a region, the whole region is still indented and the error | |
1304 is reported afterwards. | |
1305 | |
1306 *** Lineup functions may now return absolute columns. | |
1307 A lineup function can give an absolute column to indent the line to by | |
1308 returning a vector with the desired column as the first element. | |
1309 | |
1310 *** More robust and warning-free byte compilation. | |
1311 Although this is strictly not a user visible change (well, depending | |
1312 on the view of a user), it's still worth mentioning that CC Mode now | |
1313 can be compiled in the standard ways without causing trouble. Some | |
1314 code have also been moved between the subpackages to enhance the | |
1315 modularity somewhat. Thanks to Martin Buchholz for doing the | |
1316 groundwork. | |
1317 | |
1318 *** c-style-variables-are-local-p now defaults to t. | |
1319 This is an incompatible change that has been made to make the behavior | |
1320 of the style system wrt global variable settings less confusing for | |
1321 non-advanced users. If you know what this variable does you might | |
1322 want to set it to nil in your .emacs, otherwise you probably don't | |
1323 have to bother. | |
1324 | |
1325 Defaulting c-style-variables-are-local-p to t avoids the confusing | |
1326 situation that occurs when a user sets some style variables globally | |
1327 and edits both a Java and a non-Java file in the same Emacs session. | |
1328 If the style variables aren't buffer local in this case, loading of | |
1329 the second file will cause the default style (either "gnu" or "java" | |
1330 by default) to override the global settings made by the user. | |
1331 | |
1332 *** New initialization procedure for the style system. | |
1333 When the initial style for a buffer is determined by CC Mode (from the | |
1334 variable c-default-style), the global values of style variables now | |
1335 take precedence over the values specified by the chosen style. This | |
1336 is different than the old behavior: previously, the style-specific | |
1337 settings would override the global settings. This change makes it | |
1338 possible to do simple configuration in the intuitive way with | |
1339 Customize or with setq lines in one's .emacs file. | |
1340 | |
1341 By default, the global value of every style variable is the new | |
1342 special symbol set-from-style, which causes the value to be taken from | |
1343 the style system. This means that in effect, only an explicit setting | |
1344 of a style variable will cause the "overriding" behavior described | |
1345 above. | |
1346 | |
1347 Also note that global settings override style-specific settings *only* | |
1348 when the initial style of a buffer is chosen by a CC Mode major mode | |
1349 function. When a style is chosen in other ways --- for example, by a | |
1350 call like (c-set-style "gnu") in a hook, or via M-x c-set-style --- | |
1351 then the style-specific values take precedence over any global style | |
1352 values. In Lisp terms, global values override style-specific values | |
1353 only when the new second argument to c-set-style is non-nil; see the | |
1354 function documentation for more info. | |
1355 | |
1356 The purpose of these changes is to make it easier for users, | |
1357 especially novice users, to do simple customizations with Customize or | |
1358 with setq in their .emacs files. On the other hand, the new system is | |
1359 intended to be compatible with advanced users' customizations as well, | |
1360 such as those that choose styles in hooks or whatnot. This new system | |
1361 is believed to be almost entirely compatible with current | |
1362 configurations, in spite of the changed precedence between style and | |
1363 global variable settings when a buffer's default style is set. | |
1364 | |
1365 (Thanks to Eric Eide for clarifying this explanation a bit.) | |
1366 | |
1367 **** c-offsets-alist is now a customizable variable. | |
1368 This became possible as a result of the new initialization behavior. | |
1369 | |
1370 This variable is treated slightly differently from the other style | |
1371 variables; instead of using the symbol set-from-style, it will be | |
1372 completed with the syntactic symbols it doesn't already contain when | |
1373 the style is first initialized. This means it now defaults to the | |
1374 empty list to make all syntactic elements get their values from the | |
1375 style system. | |
1376 | |
1377 **** Compatibility variable to restore the old behavior. | |
1378 In case your configuration doesn't work with this change, you can set | |
1379 c-old-style-variable-behavior to non-nil to get the old behavior back | |
1380 as far as possible. | |
1381 | |
1382 *** Improvements to line breaking and text filling. | |
1383 CC Mode now handles this more intelligently and seamlessly wrt the | |
1384 surrounding code, especially inside comments. For details see the new | |
1385 chapter about this in the manual. | |
1386 | |
1387 **** New variable to recognize comment line prefix decorations. | |
1388 The variable c-comment-prefix-regexp has been added to properly | |
1389 recognize the line prefix in both block and line comments. It's | |
1390 primarily used to initialize the various paragraph recognition and | |
1391 adaptive filling variables that the text handling functions uses. | |
1392 | |
1393 **** New variable c-block-comment-prefix. | |
1394 This is a generalization of the now obsolete variable | |
1395 c-comment-continuation-stars to handle arbitrary strings. | |
1396 | |
1397 **** CC Mode now uses adaptive fill mode. | |
1398 This to make it adapt better to the paragraph style inside comments. | |
1399 | |
1400 It's also possible to use other adaptive filling packages inside CC | |
1401 Mode, notably Kyle E. Jones' Filladapt mode (http://wonderworks.com/). | |
1402 A new convenience function c-setup-filladapt sets up Filladapt for use | |
1403 inside CC Mode. | |
1404 | |
1405 Note though that the 2.12 version of Filladapt lacks a feature that | |
1406 causes it to work suboptimally when c-comment-prefix-regexp can match | |
1407 the empty string (which it commonly does). A patch for that is | |
1408 available from the CC Mode web site (http://www.python.org/emacs/ | |
1409 cc-mode/). | |
1410 | |
1411 **** The variables `c-hanging-comment-starter-p' and | |
1412 `c-hanging-comment-ender-p', which controlled how comment starters and | |
1413 enders were filled, are not used anymore. The new version of the | |
1414 function `c-fill-paragraph' keeps the comment starters and enders as | |
1415 they were before the filling. | |
1416 | |
1417 **** It's now possible to selectively turn off auto filling. | |
1418 The variable c-ignore-auto-fill is used to ignore auto fill mode in | |
1419 specific contexts, e.g. in preprocessor directives and in string | |
1420 literals. | |
1421 | |
1422 **** New context sensitive line break function c-context-line-break. | |
1423 It works like newline-and-indent in normal code, and adapts the line | |
1424 prefix according to the comment style when used inside comments. If | |
1425 you're normally using newline-and-indent, you might want to switch to | |
1426 this function. | |
1427 | |
1428 *** Fixes to IDL mode. | |
1429 It now does a better job in recognizing only the constructs relevant | |
1430 to IDL. E.g. it no longer matches "class" as the beginning of a | |
1431 struct block, but it does match the CORBA 2.3 "valuetype" keyword. | |
1432 Thanks to Eric Eide. | |
1433 | |
1434 *** Improvements to the Whitesmith style. | |
1435 It now keeps the style consistently on all levels and both when | |
1436 opening braces hangs and when they don't. | |
1437 | |
1438 **** New lineup function c-lineup-whitesmith-in-block. | |
1439 | |
1440 *** New lineup functions c-lineup-template-args and c-indent-multi-line-block. | |
1441 See their docstrings for details. c-lineup-template-args does a | |
1442 better job of tracking the brackets used as parens in C++ templates, | |
1443 and is used by default to line up continued template arguments. | |
1444 | |
1445 *** c-lineup-comment now preserves alignment with a comment on the | |
1446 previous line. It used to instead preserve comments that started in | |
1447 the column specified by comment-column. | |
1448 | |
1449 *** c-lineup-C-comments handles "free form" text comments. | |
1450 In comments with a long delimiter line at the start, the indentation | |
1451 is kept unchanged for lines that start with an empty comment line | |
1452 prefix. This is intended for the type of large block comments that | |
1453 contain documentation with its own formatting. In these you normally | |
1454 don't want CC Mode to change the indentation. | |
1455 | |
1456 *** The `c' syntactic symbol is now relative to the comment start | |
1457 instead of the previous line, to make integers usable as lineup | |
1458 arguments. | |
1459 | |
1460 *** All lineup functions have gotten docstrings. | |
1461 | |
1462 *** More preprocessor directive movement functions. | |
1463 c-down-conditional does the reverse of c-up-conditional. | |
1464 c-up-conditional-with-else and c-down-conditional-with-else are | |
1465 variants of these that also stops at "#else" lines (suggested by Don | |
1466 Provan). | |
1467 | |
1468 *** Minor improvements to many movement functions in tricky situations. | |
1469 | 1462 |
1470 ** Makefile mode changes | 1463 ** Makefile mode changes |
1471 | 1464 |
1472 *** The mode now uses the abbrev table `makefile-mode-abbrev-table'. | 1465 *** The mode now uses the abbrev table `makefile-mode-abbrev-table'. |
1473 | 1466 |
1504 | 1497 |
1505 If `isearch-lazy-highlight-cleanup' is set to t, highlights for | 1498 If `isearch-lazy-highlight-cleanup' is set to t, highlights for |
1506 matches are automatically cleared when you end the search. If it is | 1499 matches are automatically cleared when you end the search. If it is |
1507 set to nil, you can remove the highlights manually with `M-x | 1500 set to nil, you can remove the highlights manually with `M-x |
1508 isearch-lazy-highlight-cleanup'. | 1501 isearch-lazy-highlight-cleanup'. |
1509 | |
1510 +++ | |
1511 ** Changes in sort.el | |
1512 | |
1513 The function sort-numeric-fields interprets numbers starting with `0' | |
1514 as octal and numbers starting with `0x' or `0X' as hexadecimal. The | |
1515 new user-option sort-numeric-base can be used to specify a default | |
1516 numeric base. | |
1517 | |
1518 ** Changes to Ange-ftp | |
1519 | |
1520 +++ | |
1521 *** Ange-ftp allows you to specify of a port number in remote file | |
1522 names cleanly. It is appended to the host name, separated by a hash | |
1523 sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.) | |
1524 | |
1525 *** If the new user-option `ange-ftp-try-passive-mode' is set, passive | |
1526 ftp mode will be used if the ftp client supports that. | |
1527 | |
1528 *** Ange-ftp handles the output of the w32-style clients which | |
1529 output ^M at the end of lines. | |
1530 | |
1531 ** Shell script mode changes. | |
1532 | |
1533 Shell script mode (sh-script) can now indent scripts for shells | |
1534 derived from sh and rc. The indentation style is customizable, and | |
1535 sh-script can attempt to "learn" the current buffer's style. | |
1536 | |
1537 ** Etags changes. | |
1538 | |
1539 *** In DOS, etags looks for file.cgz if it cannot find file.c. | |
1540 | |
1541 *** New option --ignore-case-regex is an alternative to --regex. It is now | |
1542 possible to bind a regexp to a language, by prepending the regexp with | |
1543 {lang}, where lang is one of the languages that `etags --help' prints out. | |
1544 This feature is useful especially for regex files, where each line contains | |
1545 a regular expression. The manual contains details. | |
1546 | |
1547 *** In C and derived languages, etags creates tags for function | |
1548 declarations when given the --declarations option. | |
1549 | |
1550 *** In C++, tags are created for "operator". The tags have the form | |
1551 "operator+", without spaces between the keyword and the operator. | |
1552 | |
1553 *** You shouldn't generally need any more the -C or -c++ option: etags | |
1554 automatically switches to C++ parsing when it meets the `class' or | |
1555 `template' keywords. | |
1556 | |
1557 *** Etags now is able to delve at arbitrary deeps into nested structures in | |
1558 C-like languages. Previously, it was limited to one or two brace levels. | |
1559 | |
1560 *** New language Ada: tags are functions, procedures, packages, tasks, and | |
1561 types. | |
1562 | |
1563 *** In Fortran, `procedure' is not tagged. | |
1564 | |
1565 *** In Java, tags are created for "interface". | |
1566 | |
1567 *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs | |
1568 are now tagged. | |
1569 | |
1570 *** In makefiles, tags the targets. | |
1571 | |
1572 *** In Perl, the --globals option tags global variables. my and local | |
1573 variables are tagged. | |
1574 | |
1575 *** New language Python: def and class at the beginning of a line are tags. | |
1576 | |
1577 *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is | |
1578 for PSWrap. | |
1579 | |
1580 +++ | |
1581 ** Changes in etags.el | |
1582 | |
1583 *** The new user-option tags-case-fold-search can be used to make | |
1584 tags operations case-sensitive or case-insensitive. The default | |
1585 is to use the same setting as case-fold-search. | |
1586 | |
1587 *** You can display additional output with M-x tags-apropos by setting | |
1588 the new variable tags-apropos-additional-actions. | |
1589 | |
1590 If non-nil, the variable's value should be a list of triples (TITLE | |
1591 FUNCTION TO-SEARCH). For each triple, M-x tags-apropos processes | |
1592 TO-SEARCH and lists tags from it. TO-SEARCH should be an alist, | |
1593 obarray, or symbol. If it is a symbol, the symbol's value is used. | |
1594 | |
1595 TITLE is a string to use to label the list of tags from TO-SEARCH. | |
1596 | |
1597 FUNCTION is a function to call when an entry is selected in the Tags | |
1598 List buffer. It is called with one argument, the selected symbol. | |
1599 | |
1600 A useful example value for this variable might be something like: | |
1601 | |
1602 '(("Emacs Lisp" Info-goto-emacs-command-node obarray) | |
1603 ("Common Lisp" common-lisp-hyperspec common-lisp-hyperspec-obarray) | |
1604 ("SCWM" scwm-documentation scwm-obarray)) | |
1605 | |
1606 *** The face tags-tag-face can be used to customize the appearance | |
1607 of tags in the output of M-x tags-apropos. | |
1608 | |
1609 *** Setting tags-apropos-verbose to a non-nil value displays the | |
1610 names of tags files in the *Tags List* buffer. | |
1611 | |
1612 *** You can now search for tags that are part of the filename itself. | |
1613 If you have tagged the files topfile.c subdir/subfile.c | |
1614 /tmp/tempfile.c, you can now search for tags "topfile.c", "subfile.c", | |
1615 "dir/sub", "tempfile", "tempfile.c". If the tag matches the file name, | |
1616 point will go to the beginning of the file. | |
1617 | |
1618 *** Compressed files are now transparently supported if | |
1619 auto-compression-mode is active. You can tag (with Etags) and search | |
1620 (with find-tag) both compressed and uncompressed files. | |
1621 | |
1622 *** Tags commands like M-x tags-search no longer change point | |
1623 in buffers where no match is found. In buffers where a match is | |
1624 found, the original value of point is pushed on the marker ring. | |
1625 | |
1626 +++ | |
1627 ** Emacs now attempts to determine the initial language environment | |
1628 and preferred and locale coding systems systematically from the | |
1629 LC_ALL, LC_CTYPE, and LANG environment variables during startup. | |
1630 | |
1631 +++ | |
1632 ** New language environments `Polish', `Latin-8' and `Latin-9'. | |
1633 Latin-8 and Latin-9 correspond respectively to the ISO character sets | |
1634 8859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign). | |
1635 GNU Intlfonts doesn't support these yet but recent X releases have | |
1636 8859-15. See etc/INSTALL for information on obtaining extra fonts. | |
1637 There are new Leim input methods for Latin-8 and Latin-9 prefix (only) | |
1638 and Polish `slash'. | |
1639 | |
1640 +++ | |
1641 ** New language environments `Dutch' and `Spanish'. | |
1642 These new environments mainly select appropriate translations | |
1643 of the tutorial. | |
1644 | |
1645 ** In Ethiopic language environment, special key bindings for | |
1646 function keys are changed as follows. This is to conform to "Emacs | |
1647 Lisp Coding Convention". | |
1648 | |
1649 new command old-binding | |
1650 --- ------- ----------- | |
1651 f3 ethio-fidel-to-sera-buffer f5 | |
1652 S-f3 ethio-fidel-to-sera-region f5 | |
1653 C-f3 ethio-fidel-to-sera-mail-or-marker f5 | |
1654 | |
1655 f4 ethio-sera-to-fidel-buffer unchanged | |
1656 S-f4 ethio-sera-to-fidel-region unchanged | |
1657 C-f4 ethio-sera-to-fidel-mail-or-marker unchanged | |
1658 | |
1659 S-f5 ethio-toggle-punctuation f3 | |
1660 S-f6 ethio-modify-vowel f6 | |
1661 S-f7 ethio-replace-space f7 | |
1662 S-f8 ethio-input-special-character f8 | |
1663 S-f9 ethio-replace-space unchanged | |
1664 C-f9 ethio-toggle-space f2 | |
1665 | |
1666 ** The rule of input method "slovak" is slightly changed. Now the | |
1667 rules for translating "q" and "Q" to "`" (backquote) are deleted, thus | |
1668 typing them inserts "q" and "Q" respectively. Rules for translating | |
1669 "=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input | |
1670 "`", you must type "=q". | |
1671 | |
1672 +++ | |
1673 ** Fortran mode has a new command `fortran-strip-sequence-nos' to | |
1674 remove text past column 72. The syntax class of `\' in Fortran is now | |
1675 appropriate for C-style escape sequences in strings. | |
1676 | |
1677 ** SGML mode's default `sgml-validate-command' is now `nsgmls'. | |
1678 | |
1679 +++ | |
1680 ** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file. | |
1681 | |
1682 +++ | |
1683 ** The Dabbrev package has a new user-option `dabbrev-ignored-regexps' | |
1684 containing a list of regular expressions. Buffers matching a regular | |
1685 expression from that list, are not checked. | |
1686 | |
1687 ** Emacs can now figure out modification times of remote files. | |
1688 When you do C-x C-f /user@host:/path/file RET and edit the file, | |
1689 and someone else modifies the file, you will be prompted to revert | |
1690 the buffer, just like for the local files. | |
1691 | |
1692 ** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer. | |
1693 | |
1694 +++ | |
1695 ** When invoked with a prefix argument, the command `list-abbrevs' now | |
1696 displays local abbrevs, only. | |
1697 | 1502 |
1698 ** VC Changes | 1503 ** VC Changes |
1699 | 1504 |
1700 VC has been overhauled internally. It is now modular, making it | 1505 VC has been overhauled internally. It is now modular, making it |
1701 easier to plug-in arbitrary version control backends. (See Lisp | 1506 easier to plug-in arbitrary version control backends. (See Lisp |
2202 they can be profiled, debugged, etc. | 2007 they can be profiled, debugged, etc. |
2203 | 2008 |
2204 *** antlr-mode is a new major mode for editing ANTLR grammar files. | 2009 *** antlr-mode is a new major mode for editing ANTLR grammar files. |
2205 It is automatically turned on for files whose names have the extension | 2010 It is automatically turned on for files whose names have the extension |
2206 `.g'. | 2011 `.g'. |
2012 | |
2013 +++ | |
2014 ** Changes in sort.el | |
2015 | |
2016 The function sort-numeric-fields interprets numbers starting with `0' | |
2017 as octal and numbers starting with `0x' or `0X' as hexadecimal. The | |
2018 new user-option sort-numeric-base can be used to specify a default | |
2019 numeric base. | |
2020 | |
2021 ** Changes to Ange-ftp | |
2022 | |
2023 +++ | |
2024 *** Ange-ftp allows you to specify of a port number in remote file | |
2025 names cleanly. It is appended to the host name, separated by a hash | |
2026 sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.) | |
2027 | |
2028 *** If the new user-option `ange-ftp-try-passive-mode' is set, passive | |
2029 ftp mode will be used if the ftp client supports that. | |
2030 | |
2031 *** Ange-ftp handles the output of the w32-style clients which | |
2032 output ^M at the end of lines. | |
2033 | |
2034 +++ | |
2035 ** The recommended way of using Iswitchb is via the new global minor | |
2036 mode `iswitchb-mode'. | |
2037 | |
2038 +++ | |
2039 ** Just loading the msb package doesn't switch on Msb mode anymore. | |
2040 If you have `(require 'msb)' in your .emacs, please replace it with | |
2041 `(msb-mode 1)'. | |
2042 | |
2043 ** Flyspell mode has various new options. See the `flyspell' Custom | |
2044 group. | |
2045 | |
2046 ** The user option `backward-delete-char-untabify-method' controls the | |
2047 behavior of `backward-delete-char-untabify'. The following values | |
2048 are recognized: | |
2049 | |
2050 `untabify' -- turn a tab to many spaces, then delete one space; | |
2051 `hungry' -- delete all whitespace, both tabs and spaces; | |
2052 `all' -- delete all whitespace, including tabs, spaces and newlines; | |
2053 nil -- just delete one character. | |
2054 | |
2055 Default value is `untabify'. | |
2056 | |
2057 [This change was made in Emacs 20.3 but not mentioned then.] | |
2058 | |
2059 ** In Cperl mode `cperl-invalid-face' should now be a normal face | |
2060 symbol, not double-quoted. | |
2061 | |
2062 ** Some packages are declared obsolete, to be removed in a future | |
2063 version. They are: auto-show, c-mode, hilit19, hscroll, ooutline, | |
2064 profile, rnews, rnewspost, and sc. Their implementations have been | |
2065 moved to lisp/obsolete. | |
2066 | |
2067 ** auto-compression mode is no longer enabled just by loading jka-compr.el. | |
2068 To control it, set `auto-compression-mode' via Custom or use the | |
2069 `auto-compression-mode' command. | |
2070 | |
2071 ** `browse-url-gnome-moz' is a new option for | |
2072 `browse-url-browser-function', invoking Mozilla in GNOME, and | |
2073 `browse-url-kde' can be chosen for invoking the KDE browser. | |
2074 | |
2075 ** The user-option `browse-url-new-window-p' has been renamed to | |
2076 `browse-url-new-window-flag'. | |
2077 | |
2078 +++ | |
2079 ** The functions `keep-lines', `flush-lines' and `how-many' now | |
2080 operate on the active region in Transient Mark mode. | |
2081 | |
2082 +++ | |
2083 ** `gnus-user-agent' is a new possibility for `mail-user-agent'. It | |
2084 is like `message-user-agent', but with all the Gnus paraphernalia. | |
2085 | |
2086 ** The Strokes package has been updated. If your Emacs has XPM | |
2087 support, you can use it for pictographic editing. In Strokes mode, | |
2088 use C-mouse-2 to compose a complex stoke and insert it into the | |
2089 buffer. You can encode or decode a strokes buffer with new commands | |
2090 M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a | |
2091 new command M-x strokes-list-strokes. | |
2092 | |
2093 +++ | |
2094 ** Hexl contains a new command `hexl-insert-hex-string' which inserts | |
2095 a string of hexadecimal numbers read from the mini-buffer. | |
2096 | |
2097 ** Hexl mode allows to insert non-ASCII characters. | |
2098 | |
2099 The non-ASCII characters are encoded using the same encoding as the | |
2100 file you are visiting in Hexl mode. | |
2101 | |
2102 ** Shell script mode changes. | |
2103 | |
2104 Shell script mode (sh-script) can now indent scripts for shells | |
2105 derived from sh and rc. The indentation style is customizable, and | |
2106 sh-script can attempt to "learn" the current buffer's style. | |
2107 | |
2108 ** Etags changes. | |
2109 | |
2110 *** In DOS, etags looks for file.cgz if it cannot find file.c. | |
2111 | |
2112 *** New option --ignore-case-regex is an alternative to --regex. It is now | |
2113 possible to bind a regexp to a language, by prepending the regexp with | |
2114 {lang}, where lang is one of the languages that `etags --help' prints out. | |
2115 This feature is useful especially for regex files, where each line contains | |
2116 a regular expression. The manual contains details. | |
2117 | |
2118 *** In C and derived languages, etags creates tags for function | |
2119 declarations when given the --declarations option. | |
2120 | |
2121 *** In C++, tags are created for "operator". The tags have the form | |
2122 "operator+", without spaces between the keyword and the operator. | |
2123 | |
2124 *** You shouldn't generally need any more the -C or -c++ option: etags | |
2125 automatically switches to C++ parsing when it meets the `class' or | |
2126 `template' keywords. | |
2127 | |
2128 *** Etags now is able to delve at arbitrary deeps into nested structures in | |
2129 C-like languages. Previously, it was limited to one or two brace levels. | |
2130 | |
2131 *** New language Ada: tags are functions, procedures, packages, tasks, and | |
2132 types. | |
2133 | |
2134 *** In Fortran, `procedure' is not tagged. | |
2135 | |
2136 *** In Java, tags are created for "interface". | |
2137 | |
2138 *** In Lisp, "(defstruct (foo", "(defun (operator" and similar constructs | |
2139 are now tagged. | |
2140 | |
2141 *** In makefiles, tags the targets. | |
2142 | |
2143 *** In Perl, the --globals option tags global variables. my and local | |
2144 variables are tagged. | |
2145 | |
2146 *** New language Python: def and class at the beginning of a line are tags. | |
2147 | |
2148 *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is | |
2149 for PSWrap. | |
2150 | |
2151 +++ | |
2152 ** Changes in etags.el | |
2153 | |
2154 *** The new user-option tags-case-fold-search can be used to make | |
2155 tags operations case-sensitive or case-insensitive. The default | |
2156 is to use the same setting as case-fold-search. | |
2157 | |
2158 *** You can display additional output with M-x tags-apropos by setting | |
2159 the new variable tags-apropos-additional-actions. | |
2160 | |
2161 If non-nil, the variable's value should be a list of triples (TITLE | |
2162 FUNCTION TO-SEARCH). For each triple, M-x tags-apropos processes | |
2163 TO-SEARCH and lists tags from it. TO-SEARCH should be an alist, | |
2164 obarray, or symbol. If it is a symbol, the symbol's value is used. | |
2165 | |
2166 TITLE is a string to use to label the list of tags from TO-SEARCH. | |
2167 | |
2168 FUNCTION is a function to call when an entry is selected in the Tags | |
2169 List buffer. It is called with one argument, the selected symbol. | |
2170 | |
2171 A useful example value for this variable might be something like: | |
2172 | |
2173 '(("Emacs Lisp" Info-goto-emacs-command-node obarray) | |
2174 ("Common Lisp" common-lisp-hyperspec common-lisp-hyperspec-obarray) | |
2175 ("SCWM" scwm-documentation scwm-obarray)) | |
2176 | |
2177 *** The face tags-tag-face can be used to customize the appearance | |
2178 of tags in the output of M-x tags-apropos. | |
2179 | |
2180 *** Setting tags-apropos-verbose to a non-nil value displays the | |
2181 names of tags files in the *Tags List* buffer. | |
2182 | |
2183 *** You can now search for tags that are part of the filename itself. | |
2184 If you have tagged the files topfile.c subdir/subfile.c | |
2185 /tmp/tempfile.c, you can now search for tags "topfile.c", "subfile.c", | |
2186 "dir/sub", "tempfile", "tempfile.c". If the tag matches the file name, | |
2187 point will go to the beginning of the file. | |
2188 | |
2189 *** Compressed files are now transparently supported if | |
2190 auto-compression-mode is active. You can tag (with Etags) and search | |
2191 (with find-tag) both compressed and uncompressed files. | |
2192 | |
2193 *** Tags commands like M-x tags-search no longer change point | |
2194 in buffers where no match is found. In buffers where a match is | |
2195 found, the original value of point is pushed on the marker ring. | |
2196 | |
2197 +++ | |
2198 ** Fortran mode has a new command `fortran-strip-sequence-nos' to | |
2199 remove text past column 72. The syntax class of `\' in Fortran is now | |
2200 appropriate for C-style escape sequences in strings. | |
2201 | |
2202 ** SGML mode's default `sgml-validate-command' is now `nsgmls'. | |
2203 | |
2204 +++ | |
2205 ** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file. | |
2206 | |
2207 +++ | |
2208 ** The Dabbrev package has a new user-option `dabbrev-ignored-regexps' | |
2209 containing a list of regular expressions. Buffers matching a regular | |
2210 expression from that list, are not checked. | |
2211 | |
2212 ** Emacs can now figure out modification times of remote files. | |
2213 When you do C-x C-f /user@host:/path/file RET and edit the file, | |
2214 and someone else modifies the file, you will be prompted to revert | |
2215 the buffer, just like for the local files. | |
2216 | |
2217 ** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer. | |
2218 | |
2219 +++ | |
2220 ** When invoked with a prefix argument, the command `list-abbrevs' now | |
2221 displays local abbrevs, only. | |
2207 | 2222 |
2208 +++ | 2223 +++ |
2209 ** Refill minor mode provides preliminary support for keeping | 2224 ** Refill minor mode provides preliminary support for keeping |
2210 paragraphs filled as you modify them. | 2225 paragraphs filled as you modify them. |
2211 | 2226 |
4645 terminals. When Emacs starts, it by default changes the cursor shape | 4660 terminals. When Emacs starts, it by default changes the cursor shape |
4646 to a solid box, as it does on Unix. The `cursor-type' frame parameter | 4661 to a solid box, as it does on Unix. The `cursor-type' frame parameter |
4647 overrides this as it does on Unix, except that the bar cursor is | 4662 overrides this as it does on Unix, except that the bar cursor is |
4648 horizontal rather than vertical (since the MS-DOS display doesn't | 4663 horizontal rather than vertical (since the MS-DOS display doesn't |
4649 support a vertical-bar cursor). | 4664 support a vertical-bar cursor). |
4650 | |
4651 | 4665 |
4652 | 4666 |
4653 | 4667 |
4654 * Emacs 20.7 is a bug-fix release with few user-visible changes | 4668 * Emacs 20.7 is a bug-fix release with few user-visible changes |
4655 | 4669 |