aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2001-09-10 15:39:03 +0000
committerEli Zaretskii2001-09-10 15:39:03 +0000
commit87373ae8bab39e6bf0b77a42be072587e491833e (patch)
tree1e784a934c0b73e19715dd84a947bb886c4b6152
parent616383559b2abbe0f274334dbd0286719a407612 (diff)
downloademacs-87373ae8bab39e6bf0b77a42be072587e491833e.tar.gz
emacs-87373ae8bab39e6bf0b77a42be072587e491833e.zip
Remove the --- and +++ markers from all entries.
-rw-r--r--etc/NEWS384
1 files changed, 0 insertions, 384 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 1419e59ac94..b1114e263eb 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -47,7 +47,6 @@ new display features described below.
47 47
48* Changes in Emacs 21.1 48* Changes in Emacs 21.1
49 49
50+++
51** Emacs has a new redisplay engine. 50** Emacs has a new redisplay engine.
52 51
53The new redisplay handles characters of variable width and height. 52The new redisplay handles characters of variable width and height.
@@ -56,7 +55,6 @@ oversized characters, i.e. characters larger than the logical height
56of a font can be used. Images of various formats can be displayed in 55of a font can be used. Images of various formats can be displayed in
57the text. 56the text.
58 57
59+++
60** Emacs has a new face implementation. 58** Emacs has a new face implementation.
61 59
62The new faces no longer fundamentally use X font names to specify the 60The new faces no longer fundamentally use X font names to specify the
@@ -69,7 +67,6 @@ Faces are supported on terminals that can display color or fonts.
69These terminal capabilities are auto-detected. Details can be found 67These terminal capabilities are auto-detected. Details can be found
70under Lisp changes, below. 68under Lisp changes, below.
71 69
72+++
73** Emacs can display faces on TTY frames. 70** Emacs can display faces on TTY frames.
74 71
75Emacs automatically detects terminals that are able to display colors. 72Emacs automatically detects terminals that are able to display colors.
@@ -88,10 +85,8 @@ the colors supported by the terminal. This means you could have the
88same color customizations that work both on a windowed display and on 85same color customizations that work both on a windowed display and on
89a TTY or when Emacs is invoked with the -nw option. 86a TTY or when Emacs is invoked with the -nw option.
90 87
91---
92** New default font is Courier 12pt under X. 88** New default font is Courier 12pt under X.
93 89
94---
95** Sound support 90** Sound support
96 91
97Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware 92Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware
@@ -100,7 +95,6 @@ supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au).
100You must configure Emacs with the option `--with-sound=yes' to enable 95You must configure Emacs with the option `--with-sound=yes' to enable
101sound support. 96sound support.
102 97
103+++
104** Emacs now resizes mini-windows if appropriate. 98** Emacs now resizes mini-windows if appropriate.
105 99
106If a message is longer than one line, or minibuffer contents are 100If a message is longer than one line, or minibuffer contents are
@@ -125,20 +119,17 @@ again.
125 119
126Default is `grow-only'. 120Default is `grow-only'.
127 121
128+++
129** LessTif support. 122** LessTif support.
130 123
131Emacs now runs with the LessTif toolkit (see 124Emacs now runs with the LessTif toolkit (see
132<http://www.lesstif.org>). You will need version 0.92.26, or later. 125<http://www.lesstif.org>). You will need version 0.92.26, or later.
133 126
134+++
135** LessTif/Motif file selection dialog. 127** LessTif/Motif file selection dialog.
136 128
137When Emacs is configured to use LessTif or Motif, reading a file name 129When Emacs is configured to use LessTif or Motif, reading a file name
138from a menu will pop up a file selection dialog if `use-dialog-box' is 130from a menu will pop up a file selection dialog if `use-dialog-box' is
139non-nil. 131non-nil.
140 132
141+++
142** Toolkit scroll bars. 133** Toolkit scroll bars.
143 134
144Emacs now uses toolkit scroll bars if available. When configured for 135Emacs now uses toolkit scroll bars if available. When configured for
@@ -168,7 +159,6 @@ This is not a problem when Imakefiles are used because each system's
168imake configuration file contains the necessary information. Since 159imake configuration file contains the necessary information. Since
169Emacs doesn't use imake, this has do be done manually. 160Emacs doesn't use imake, this has do be done manually.
170 161
171+++
172** Tool bar support. 162** Tool bar support.
173 163
174Emacs supports a tool bar at the top of a frame under X. For details 164Emacs supports a tool bar at the top of a frame under X. For details
@@ -182,7 +172,6 @@ To make the tool bar more useful, we need contributions of extra icons
182for specific modes (with copyright assignments). Contributions would 172for specific modes (with copyright assignments). Contributions would
183also be useful to touch up some of the PBM icons manually. 173also be useful to touch up some of the PBM icons manually.
184 174
185+++
186** Tooltips. 175** Tooltips.
187 176
188Tooltips are small X windows displaying a help string at the current 177Tooltips are small X windows displaying a help string at the current
@@ -194,7 +183,6 @@ variable values can be displayed in tooltips by pointing at them with
194the mouse in source buffers. You can customize various aspects of the 183the mouse in source buffers. You can customize various aspects of the
195tooltip display in the group `tooltip'. 184tooltip display in the group `tooltip'.
196 185
197+++
198** Automatic Hscrolling 186** Automatic Hscrolling
199 187
200Horizontal scrolling now happens automatically if 188Horizontal scrolling now happens automatically if
@@ -207,7 +195,6 @@ for automatic horizontal scrolling. Automatic scrolling will scroll
207the text more to the left if necessary, but won't scroll the text more 195the text more to the left if necessary, but won't scroll the text more
208to the right than the column set with set-window-hscroll etc. 196to the right than the column set with set-window-hscroll etc.
209 197
210+++
211** When using a windowing terminal, each Emacs window now has a cursor 198** When using a windowing terminal, each Emacs window now has a cursor
212of its own. By default, when a window is selected, the cursor is 199of its own. By default, when a window is selected, the cursor is
213solid; otherwise, it is hollow. The user-option 200solid; otherwise, it is hollow. The user-option
@@ -215,13 +202,11 @@ solid; otherwise, it is hollow. The user-option
215cursor in non-selected windows. If nil, no cursor is shown, if 202cursor in non-selected windows. If nil, no cursor is shown, if
216non-nil a hollow box cursor is shown. 203non-nil a hollow box cursor is shown.
217 204
218+++
219** Fringes to the left and right of windows are used to display 205** Fringes to the left and right of windows are used to display
220truncation marks, continuation marks, overlay arrows and alike. The 206truncation marks, continuation marks, overlay arrows and alike. The
221foreground, background, and stipple of these areas can be changed by 207foreground, background, and stipple of these areas can be changed by
222customizing face `fringe'. 208customizing face `fringe'.
223 209
224+++
225** The mode line under X is now drawn with shadows by default. 210** The mode line under X is now drawn with shadows by default.
226You can change its appearance by modifying the face `mode-line'. 211You can change its appearance by modifying the face `mode-line'.
227In particular, setting the `:box' attribute to nil turns off the 3D 212In particular, setting the `:box' attribute to nil turns off the 3D
@@ -234,7 +219,6 @@ versions of emacs to make the mode-line stand out, is now deprecated.
234However, setting it to nil will cause the `mode-line' face to be 219However, setting it to nil will cause the `mode-line' face to be
235ignored, and mode-lines to be drawn using the default text face. 220ignored, and mode-lines to be drawn using the default text face.
236 221
237+++
238** Mouse-sensitive mode line. 222** Mouse-sensitive mode line.
239 223
240Different parts of the mode line have been made mouse-sensitive on all 224Different parts of the mode line have been made mouse-sensitive on all
@@ -259,13 +243,11 @@ M-mouse-2 switches to the previous buffer in the buffer list.
259 243
260- Mouse-3 on the mode name displays a minor-mode menu. 244- Mouse-3 on the mode name displays a minor-mode menu.
261 245
262+++
263** Hourglass pointer 246** Hourglass pointer
264 247
265Emacs can optionally display an hourglass pointer under X. You can 248Emacs can optionally display an hourglass pointer under X. You can
266turn the display on or off by customizing group `cursor'. 249turn the display on or off by customizing group `cursor'.
267 250
268+++
269** Blinking cursor 251** Blinking cursor
270 252
271M-x blink-cursor-mode toggles a blinking cursor under X and on 253M-x blink-cursor-mode toggles a blinking cursor under X and on
@@ -273,7 +255,6 @@ terminals having terminal capabilities `vi', `vs', and `ve'. Blinking
273and related parameters like frequency and delay can be customized in 255and related parameters like frequency and delay can be customized in
274the group `cursor'. 256the group `cursor'.
275 257
276+++
277** New font-lock support mode `jit-lock-mode'. 258** New font-lock support mode `jit-lock-mode'.
278 259
279This support mode is roughly equivalent to `lazy-lock' but is 260This support mode is roughly equivalent to `lazy-lock' but is
@@ -284,7 +265,6 @@ details.
284Font-lock uses jit-lock-mode as default support mode, so you don't 265Font-lock uses jit-lock-mode as default support mode, so you don't
285have to do anything to activate it. 266have to do anything to activate it.
286 267
287+++
288** The default binding of the Delete key has changed. 268** The default binding of the Delete key has changed.
289 269
290The new user-option `normal-erase-is-backspace' can be set to 270The new user-option `normal-erase-is-backspace' can be set to
@@ -309,26 +289,21 @@ terminal if you don't have both Backspace, Delete and F1 keys.
309Programmatically, you can call function normal-erase-is-backspace-mode 289Programmatically, you can call function normal-erase-is-backspace-mode
310to toggle the behavior of the Delete and Backspace keys. 290to toggle the behavior of the Delete and Backspace keys.
311 291
312+++
313** The default for user-option `next-line-add-newlines' has been 292** The default for user-option `next-line-add-newlines' has been
314changed to nil, i.e. C-n will no longer add newlines at the end of a 293changed to nil, i.e. C-n will no longer add newlines at the end of a
315buffer by default. 294buffer by default.
316 295
317---
318** The <home> and <end> keys now move to the beginning or end of the 296** The <home> and <end> keys now move to the beginning or end of the
319current line, respectively. C-<home> and C-<end> move to the 297current line, respectively. C-<home> and C-<end> move to the
320beginning and end of the buffer. 298beginning and end of the buffer.
321 299
322---
323** Emacs now checks for recursive loads of Lisp files. If the 300** Emacs now checks for recursive loads of Lisp files. If the
324recursion depth exceeds `recursive-load-depth-limit', an error is 301recursion depth exceeds `recursive-load-depth-limit', an error is
325signaled. 302signaled.
326 303
327+++
328** When an error is signaled during the loading of the user's init 304** When an error is signaled during the loading of the user's init
329file, Emacs now pops up the *Messages* buffer. 305file, Emacs now pops up the *Messages* buffer.
330 306
331+++
332** Emacs now refuses to load compiled Lisp files which weren't 307** Emacs now refuses to load compiled Lisp files which weren't
333compiled with Emacs. Set `load-dangerous-libraries' to t to change 308compiled with Emacs. Set `load-dangerous-libraries' to t to change
334this behavior. 309this behavior.
@@ -337,23 +312,19 @@ The reason for this change is an incompatible change in XEmacs's byte
337compiler. Files compiled with XEmacs can contain byte codes that let 312compiler. Files compiled with XEmacs can contain byte codes that let
338Emacs dump core. 313Emacs dump core.
339 314
340---
341** Toggle buttons and radio buttons in menus. 315** Toggle buttons and radio buttons in menus.
342 316
343When compiled with LessTif (or Motif) support, Emacs uses toolkit 317When compiled with LessTif (or Motif) support, Emacs uses toolkit
344widgets for radio and toggle buttons in menus. When configured for 318widgets for radio and toggle buttons in menus. When configured for
345Lucid, Emacs draws radio buttons and toggle buttons similar to Motif. 319Lucid, Emacs draws radio buttons and toggle buttons similar to Motif.
346 320
347---
348** The menu bar configuration has changed. The new configuration is 321** The menu bar configuration has changed. The new configuration is
349more CUA-compliant. The most significant change is that Options is 322more CUA-compliant. The most significant change is that Options is
350now a separate menu-bar item, with Mule and Customize as its submenus. 323now a separate menu-bar item, with Mule and Customize as its submenus.
351 324
352---
353** Item Save Options on the Options menu allows saving options set 325** Item Save Options on the Options menu allows saving options set
354using that menu. 326using that menu.
355 327
356+++
357** Highlighting of trailing whitespace. 328** Highlighting of trailing whitespace.
358 329
359When `show-trailing-whitespace' is non-nil, Emacs displays trailing 330When `show-trailing-whitespace' is non-nil, Emacs displays trailing
@@ -363,41 +334,33 @@ highlighting when entering new text, trailing whitespace is not
363displayed if point is at the end of the line containing the 334displayed if point is at the end of the line containing the
364whitespace. 335whitespace.
365 336
366+++
367** C-x 5 1 runs the new command delete-other-frames which deletes 337** C-x 5 1 runs the new command delete-other-frames which deletes
368all frames except the selected one. 338all frames except the selected one.
369 339
370+++
371** The new user-option `confirm-kill-emacs' can be customized to 340** The new user-option `confirm-kill-emacs' can be customized to
372let Emacs ask for confirmation before exiting. 341let Emacs ask for confirmation before exiting.
373 342
374+++
375** The header line in an Info buffer is now displayed as an emacs 343** The header line in an Info buffer is now displayed as an emacs
376header-line (which is like a mode-line, but at the top of the window), 344header-line (which is like a mode-line, but at the top of the window),
377so that it remains visible even when the buffer has been scrolled. 345so that it remains visible even when the buffer has been scrolled.
378This behavior may be disabled by customizing the option 346This behavior may be disabled by customizing the option
379`Info-use-header-line'. 347`Info-use-header-line'.
380 348
381---
382** Polish, Czech, German, and French translations of Emacs' reference card 349** Polish, Czech, German, and French translations of Emacs' reference card
383have been added. They are named `pl-refcard.tex', `cs-refcard.tex', 350have been added. They are named `pl-refcard.tex', `cs-refcard.tex',
384`de-refcard.tex' and `fr-refcard.tex'. Postscript files are included. 351`de-refcard.tex' and `fr-refcard.tex'. Postscript files are included.
385 352
386---
387** An `Emacs Survival Guide', etc/survival.tex, is available. 353** An `Emacs Survival Guide', etc/survival.tex, is available.
388 354
389---
390** A reference card for Dired has been added. Its name is 355** A reference card for Dired has been added. Its name is
391`dired-ref.tex'. A French translation is available in 356`dired-ref.tex'. A French translation is available in
392`fr-drdref.tex'. 357`fr-drdref.tex'.
393 358
394+++
395** C-down-mouse-3 is bound differently. Now if the menu bar is not 359** C-down-mouse-3 is bound differently. Now if the menu bar is not
396displayed it pops up a menu containing the items which would be on the 360displayed it pops up a menu containing the items which would be on the
397menu bar. If the menu bar is displayed, it pops up the major mode 361menu bar. If the menu bar is displayed, it pops up the major mode
398menu or the Edit menu if there is no major mode menu. 362menu or the Edit menu if there is no major mode menu.
399 363
400---
401** Variable `load-path' is no longer customizable through Customize. 364** Variable `load-path' is no longer customizable through Customize.
402 365
403You can no longer use `M-x customize-variable' to customize `load-path' 366You can no longer use `M-x customize-variable' to customize `load-path'
@@ -405,11 +368,9 @@ because it now contains a version-dependent component. You can still
405use `add-to-list' and `setq' to customize this variable in your 368use `add-to-list' and `setq' to customize this variable in your
406`~/.emacs' init file or to modify it from any Lisp program in general. 369`~/.emacs' init file or to modify it from any Lisp program in general.
407 370
408+++
409** C-u C-x = provides detailed information about the character at 371** C-u C-x = provides detailed information about the character at
410point in a pop-up window. 372point in a pop-up window.
411 373
412+++
413** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse) 374** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse)
414under XFree86. To enable this, use the `mouse-wheel-mode' command, or 375under XFree86. To enable this, use the `mouse-wheel-mode' command, or
415customize the variable `mouse-wheel-mode'. 376customize the variable `mouse-wheel-mode'.
@@ -417,43 +378,34 @@ customize the variable `mouse-wheel-mode'.
417The variables `mouse-wheel-follow-mouse' and `mouse-wheel-scroll-amount' 378The variables `mouse-wheel-follow-mouse' and `mouse-wheel-scroll-amount'
418determine where and by how much buffers are scrolled. 379determine where and by how much buffers are scrolled.
419 380
420+++
421** Emacs' auto-save list files are now by default stored in a 381** Emacs' auto-save list files are now by default stored in a
422sub-directory `.emacs.d/auto-save-list/' of the user's home directory. 382sub-directory `.emacs.d/auto-save-list/' of the user's home directory.
423(On MS-DOS, this subdirectory's name is `_emacs.d/auto-save.list/'.) 383(On MS-DOS, this subdirectory's name is `_emacs.d/auto-save.list/'.)
424You can customize `auto-save-list-file-prefix' to change this location. 384You can customize `auto-save-list-file-prefix' to change this location.
425 385
426+++
427** The function `getenv' is now callable interactively. 386** The function `getenv' is now callable interactively.
428 387
429+++
430** The new user-option `even-window-heights' can be set to nil 388** The new user-option `even-window-heights' can be set to nil
431to prevent `display-buffer' from evening out window heights. 389to prevent `display-buffer' from evening out window heights.
432 390
433+++
434** The new command M-x delete-trailing-whitespace RET will delete the 391** The new command M-x delete-trailing-whitespace RET will delete the
435trailing whitespace within the current restriction. You can also add 392trailing whitespace within the current restriction. You can also add
436this function to `write-file-hooks' or `local-write-file-hooks'. 393this function to `write-file-hooks' or `local-write-file-hooks'.
437 394
438---
439** When visiting a file with M-x find-file-literally, no newlines will 395** When visiting a file with M-x find-file-literally, no newlines will
440be added to the end of the buffer even if `require-final-newline' is 396be added to the end of the buffer even if `require-final-newline' is
441non-nil. 397non-nil.
442 398
443+++
444** The new user-option `find-file-suppress-same-file-warnings' can be 399** The new user-option `find-file-suppress-same-file-warnings' can be
445set to suppress warnings ``X and Y are the same file'' when visiting a 400set to suppress warnings ``X and Y are the same file'' when visiting a
446file that is already visited under a different name. 401file that is already visited under a different name.
447 402
448---
449** The new user-option `electric-help-shrink-window' can be set to 403** The new user-option `electric-help-shrink-window' can be set to
450nil to prevent adjusting the help window size to the buffer size. 404nil to prevent adjusting the help window size to the buffer size.
451 405
452+++
453** New command M-x describe-character-set reads a character set name 406** New command M-x describe-character-set reads a character set name
454and displays information about that. 407and displays information about that.
455 408
456---
457** The new variable `auto-mode-interpreter-regexp' contains a regular 409** The new variable `auto-mode-interpreter-regexp' contains a regular
458expression matching interpreters, for file mode determination. 410expression matching interpreters, for file mode determination.
459 411
@@ -464,11 +416,9 @@ interpreted by the interpreter matched by the second group of the
464regular expression. The mode is then determined as the mode 416regular expression. The mode is then determined as the mode
465associated with that interpreter in `interpreter-mode-alist'. 417associated with that interpreter in `interpreter-mode-alist'.
466 418
467---
468** New function executable-make-buffer-file-executable-if-script-p is 419** New function executable-make-buffer-file-executable-if-script-p is
469suitable as an after-save-hook as an alternative to `executable-chmod'. 420suitable as an after-save-hook as an alternative to `executable-chmod'.
470 421
471+++
472** The most preferred coding-system is now used to save a buffer if 422** The most preferred coding-system is now used to save a buffer if
473buffer-file-coding-system is `undecided' and it is safe for the buffer 423buffer-file-coding-system is `undecided' and it is safe for the buffer
474contents. (The most preferred is set by set-language-environment or 424contents. (The most preferred is set by set-language-environment or
@@ -477,15 +427,12 @@ insert a non-ASCII character from your current language environment,
477the file will be saved silently with the appropriate coding. 427the file will be saved silently with the appropriate coding.
478Previously you would be prompted for a safe coding system. 428Previously you would be prompted for a safe coding system.
479 429
480---
481** The many obsolete language `setup-...-environment' commands have 430** The many obsolete language `setup-...-environment' commands have
482been removed -- use `set-language-environment'. 431been removed -- use `set-language-environment'.
483 432
484+++
485** The new Custom option `keyboard-coding-system' specifies a coding 433** The new Custom option `keyboard-coding-system' specifies a coding
486system for keyboard input. 434system for keyboard input.
487 435
488+++
489** New variable `inhibit-iso-escape-detection' determines if Emacs' 436** New variable `inhibit-iso-escape-detection' determines if Emacs'
490coding system detection algorithm should pay attention to ISO2022's 437coding system detection algorithm should pay attention to ISO2022's
491escape sequences. If this variable is non-nil, the algorithm ignores 438escape sequences. If this variable is non-nil, the algorithm ignores
@@ -496,24 +443,19 @@ read a specific file without decoding escape codes, use C-x RET c
496(`universal-coding-system-argument'). For instance, C-x RET c latin-1 443(`universal-coding-system-argument'). For instance, C-x RET c latin-1
497RET C-x C-f filename RET. 444RET C-x C-f filename RET.
498 445
499---
500** Variable `default-korean-keyboard' is initialized properly from the 446** Variable `default-korean-keyboard' is initialized properly from the
501environment variable `HANGUL_KEYBOARD_TYPE'. 447environment variable `HANGUL_KEYBOARD_TYPE'.
502 448
503+++
504** New command M-x list-charset-chars reads a character set name and 449** New command M-x list-charset-chars reads a character set name and
505displays all characters in that character set. 450displays all characters in that character set.
506 451
507---
508** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based 452** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based
509coding systems such as cpXXX and cyrillic-koi8. 453coding systems such as cpXXX and cyrillic-koi8.
510 454
511+++
512** Emacs now attempts to determine the initial language environment 455** Emacs now attempts to determine the initial language environment
513and preferred and locale coding systems systematically from the 456and preferred and locale coding systems systematically from the
514LC_ALL, LC_CTYPE, and LANG environment variables during startup. 457LC_ALL, LC_CTYPE, and LANG environment variables during startup.
515 458
516+++
517** New language environments `Polish', `Latin-8' and `Latin-9'. 459** New language environments `Polish', `Latin-8' and `Latin-9'.
518Latin-8 and Latin-9 correspond respectively to the ISO character sets 460Latin-8 and Latin-9 correspond respectively to the ISO character sets
5198859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign). 4618859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign).
@@ -522,12 +464,10 @@ GNU Intlfonts doesn't support these yet but recent X releases have
522There are new Leim input methods for Latin-8 and Latin-9 prefix (only) 464There are new Leim input methods for Latin-8 and Latin-9 prefix (only)
523and Polish `slash'. 465and Polish `slash'.
524 466
525+++
526** New language environments `Dutch' and `Spanish'. 467** New language environments `Dutch' and `Spanish'.
527These new environments mainly select appropriate translations 468These new environments mainly select appropriate translations
528of the tutorial. 469of the tutorial.
529 470
530---
531** In Ethiopic language environment, special key bindings for 471** In Ethiopic language environment, special key bindings for
532function keys are changed as follows. This is to conform to "Emacs 472function keys are changed as follows. This is to conform to "Emacs
533Lisp Coding Convention". 473Lisp Coding Convention".
@@ -549,14 +489,12 @@ Lisp Coding Convention".
549 S-f9 ethio-replace-space unchanged 489 S-f9 ethio-replace-space unchanged
550 C-f9 ethio-toggle-space f2 490 C-f9 ethio-toggle-space f2
551 491
552---
553** The rule of input method "slovak" is slightly changed. Now the 492** The rule of input method "slovak" is slightly changed. Now the
554rules for translating "q" and "Q" to "`" (backquote) are deleted, thus 493rules for translating "q" and "Q" to "`" (backquote) are deleted, thus
555typing them inserts "q" and "Q" respectively. Rules for translating 494typing them inserts "q" and "Q" respectively. Rules for translating
556"=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input 495"=q", "+q", "=Q", and "+Q" to "`" are also deleted. Now, to input
557"`", you must type "=q". 496"`", you must type "=q".
558 497
559+++
560** When your terminal can't display characters from some of the ISO 498** When your terminal can't display characters from some of the ISO
5618859 character sets but can display Latin-1, you can display 4998859 character sets but can display Latin-1, you can display
562more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of 500more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of
@@ -564,28 +502,23 @@ empty boxes (under a window system) or question marks (not under a
564window system). Customize the option `latin1-display' to turn this 502window system). Customize the option `latin1-display' to turn this
565on. 503on.
566 504
567+++
568** M-; now calls comment-dwim which tries to do something clever based 505** M-; now calls comment-dwim which tries to do something clever based
569on the context. M-x kill-comment is now an alias to comment-kill, 506on the context. M-x kill-comment is now an alias to comment-kill,
570defined in newcomment.el. You can choose different styles of region 507defined in newcomment.el. You can choose different styles of region
571commenting with the variable `comment-style'. 508commenting with the variable `comment-style'.
572 509
573+++
574** New user options `display-time-mail-face' and 510** New user options `display-time-mail-face' and
575`display-time-use-mail-icon' control the appearance of mode-line mail 511`display-time-use-mail-icon' control the appearance of mode-line mail
576indicator used by the display-time package. On a suitable display the 512indicator used by the display-time package. On a suitable display the
577indicator can be an icon and is mouse-sensitive. 513indicator can be an icon and is mouse-sensitive.
578 514
579+++
580** On window-systems, additional space can be put between text lines 515** On window-systems, additional space can be put between text lines
581on the display using several methods 516on the display using several methods
582 517
583+++
584- By setting frame parameter `line-spacing' to PIXELS. PIXELS must be 518- By setting frame parameter `line-spacing' to PIXELS. PIXELS must be
585a positive integer, and specifies that PIXELS number of pixels should 519a positive integer, and specifies that PIXELS number of pixels should
586be put below text lines on the affected frame or frames. 520be put below text lines on the affected frame or frames.
587 521
588+++
589- By setting X resource `lineSpacing', class `LineSpacing'. This is 522- By setting X resource `lineSpacing', class `LineSpacing'. This is
590equivalent to specifying the frame parameter. 523equivalent to specifying the frame parameter.
591 524
@@ -594,22 +527,18 @@ equivalent to specifying the frame parameter.
594- By setting buffer-local variable `line-spacing'. The meaning is 527- By setting buffer-local variable `line-spacing'. The meaning is
595the same, but applies to the a particular buffer only. 528the same, but applies to the a particular buffer only.
596 529
597+++
598** The new command `clone-indirect-buffer' can be used to create 530** The new command `clone-indirect-buffer' can be used to create
599an indirect buffer that is a twin copy of the current buffer. The 531an indirect buffer that is a twin copy of the current buffer. The
600command `clone-indirect-buffer-other-window', bound to C-x 4 c, 532command `clone-indirect-buffer-other-window', bound to C-x 4 c,
601does the same but displays the indirect buffer in another window. 533does the same but displays the indirect buffer in another window.
602 534
603+++
604** New user options `backup-directory-alist' and 535** New user options `backup-directory-alist' and
605`make-backup-file-name-function' control the placement of backups, 536`make-backup-file-name-function' control the placement of backups,
606typically in a single directory or in an invisible sub-directory. 537typically in a single directory or in an invisible sub-directory.
607 538
608---
609** New commands iso-iso2sgml and iso-sgml2iso convert between Latin-1 539** New commands iso-iso2sgml and iso-sgml2iso convert between Latin-1
610characters and the corresponding SGML (HTML) entities. 540characters and the corresponding SGML (HTML) entities.
611 541
612+++
613** New X resources recognized 542** New X resources recognized
614 543
615*** The X resource `synchronous', class `Synchronous', specifies 544*** The X resource `synchronous', class `Synchronous', specifies
@@ -655,7 +584,6 @@ Example:
655 584
656 emacs.privateColormap: true 585 emacs.privateColormap: true
657 586
658+++
659** Faces and frame parameters. 587** Faces and frame parameters.
660 588
661There are four new faces `scroll-bar', `border', `cursor' and `mouse'. 589There are four new faces `scroll-bar', `border', `cursor' and `mouse'.
@@ -671,12 +599,10 @@ Changing frame parameter `font' sets font-related attributes of the
671`foreground-color' or `background-color' sets the colors of the 599`foreground-color' or `background-color' sets the colors of the
672`default' face and vice versa. 600`default' face and vice versa.
673 601
674+++
675** New face `menu'. 602** New face `menu'.
676 603
677The face `menu' can be used to change colors and font of Emacs' menus. 604The face `menu' can be used to change colors and font of Emacs' menus.
678 605
679+++
680** New frame parameter `screen-gamma' for gamma correction. 606** New frame parameter `screen-gamma' for gamma correction.
681 607
682The new frame parameter `screen-gamma' specifies gamma-correction for 608The new frame parameter `screen-gamma' specifies gamma-correction for
@@ -691,7 +617,6 @@ color displays. The viewing gamma Emacs uses is 0.4545. (1/2.2).
691The X resource name of this parameter is `screenGamma', class 617The X resource name of this parameter is `screenGamma', class
692`ScreenGamma'. 618`ScreenGamma'.
693 619
694---
695** Tabs and variable-width text. 620** Tabs and variable-width text.
696 621
697Tabs are now displayed with stretch properties; the width of a tab is 622Tabs are now displayed with stretch properties; the width of a tab is
@@ -701,7 +626,6 @@ Thus, tabs can be used to line up text in different fonts.
701 626
702** Enhancements of the Lucid menu bar 627** Enhancements of the Lucid menu bar
703 628
704+++
705*** The Lucid menu bar now supports the resource "margin". 629*** The Lucid menu bar now supports the resource "margin".
706 630
707 emacs.pane.menubar.margin: 5 631 emacs.pane.menubar.margin: 5
@@ -712,14 +636,12 @@ LessTif/Motif one.
712*** Arrows that indicate sub-menus are now drawn with shadows, as in 636*** Arrows that indicate sub-menus are now drawn with shadows, as in
713LessTif and Motif. 637LessTif and Motif.
714 638
715+++
716** A block cursor can be drawn as wide as the glyph under it under X. 639** A block cursor can be drawn as wide as the glyph under it under X.
717 640
718As an example: if a block cursor is over a tab character, it will be 641As an example: if a block cursor is over a tab character, it will be
719drawn as wide as that tab on the display. To do this, set 642drawn as wide as that tab on the display. To do this, set
720`x-stretch-cursor' to a non-nil value. 643`x-stretch-cursor' to a non-nil value.
721 644
722+++
723** Empty display lines at the end of a buffer may be marked with a 645** Empty display lines at the end of a buffer may be marked with a
724bitmap (this is similar to the tilde displayed by vi and Less). 646bitmap (this is similar to the tilde displayed by vi and Less).
725 647
@@ -727,7 +649,6 @@ This behavior is activated by setting the buffer-local variable
727`indicate-empty-lines' to a non-nil value. The default value of this 649`indicate-empty-lines' to a non-nil value. The default value of this
728variable is found in `default-indicate-empty-lines'. 650variable is found in `default-indicate-empty-lines'.
729 651
730+++
731** There is a new "aggressive" scrolling method. 652** There is a new "aggressive" scrolling method.
732 653
733When scrolling up because point is above the window start, if the 654When scrolling up because point is above the window start, if the
@@ -740,21 +661,17 @@ value of the buffer-local variable `scroll-down-aggressively' is a
740number, Emacs chooses a new window start so that point ends up that 661number, Emacs chooses a new window start so that point ends up that
741fraction of the window's height from the bottom of the window. 662fraction of the window's height from the bottom of the window.
742 663
743+++
744** You can now easily create new *Info* buffers using either 664** You can now easily create new *Info* buffers using either
745M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET. 665M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET.
746M-x clone-buffer can also be used on *Help* and several other special 666M-x clone-buffer can also be used on *Help* and several other special
747buffers. 667buffers.
748 668
749---
750** The command `Info-search' now uses a search history. 669** The command `Info-search' now uses a search history.
751 670
752---
753** Listing buffers with M-x list-buffers (C-x C-b) now shows 671** Listing buffers with M-x list-buffers (C-x C-b) now shows
754abbreviated file names. Abbreviations can be customized by changing 672abbreviated file names. Abbreviations can be customized by changing
755`directory-abbrev-alist'. 673`directory-abbrev-alist'.
756 674
757+++
758** A new variable, backup-by-copying-when-privileged-mismatch, gives 675** A new variable, backup-by-copying-when-privileged-mismatch, gives
759the highest file uid for which backup-by-copying-when-mismatch will be 676the highest file uid for which backup-by-copying-when-mismatch will be
760forced on. The assumption is that uids less than or equal to this 677forced on. The assumption is that uids less than or equal to this
@@ -764,42 +681,33 @@ even if your system policy allows users other than root to edit them.
764 681
765The default is 200; set the variable to nil to disable the feature. 682The default is 200; set the variable to nil to disable the feature.
766 683
767---
768** The rectangle commands now avoid inserting undesirable spaces, 684** The rectangle commands now avoid inserting undesirable spaces,
769notably at the end of lines. 685notably at the end of lines.
770 686
771All these functions have been rewritten to avoid inserting unwanted 687All these functions have been rewritten to avoid inserting unwanted
772spaces, and an optional prefix now allows them to behave the old way. 688spaces, and an optional prefix now allows them to behave the old way.
773 689
774+++
775** The function `replace-rectangle' is an alias for `string-rectangle'. 690** The function `replace-rectangle' is an alias for `string-rectangle'.
776 691
777+++
778** The new command M-x string-insert-rectangle is like `string-rectangle', 692** The new command M-x string-insert-rectangle is like `string-rectangle',
779but inserts text instead of replacing it. 693but inserts text instead of replacing it.
780 694
781---
782** The new command M-x query-replace-regexp-eval acts like 695** The new command M-x query-replace-regexp-eval acts like
783query-replace-regexp, but takes a Lisp expression which is evaluated 696query-replace-regexp, but takes a Lisp expression which is evaluated
784after each match to get the replacement text. 697after each match to get the replacement text.
785 698
786+++
787** M-x query-replace recognizes a new command `e' (or `E') that lets 699** M-x query-replace recognizes a new command `e' (or `E') that lets
788you edit the replacement string. 700you edit the replacement string.
789 701
790---
791** The new command mail-abbrev-complete-alias, bound to `M-TAB' 702** The new command mail-abbrev-complete-alias, bound to `M-TAB'
792(if you load the library `mailabbrev'), lets you complete mail aliases 703(if you load the library `mailabbrev'), lets you complete mail aliases
793in the text, analogous to lisp-complete-symbol. 704in the text, analogous to lisp-complete-symbol.
794 705
795+++
796** The variable `echo-keystrokes' may now have a floating point value. 706** The variable `echo-keystrokes' may now have a floating point value.
797 707
798---
799** If your init file is compiled (.emacs.elc), `user-init-file' is set 708** If your init file is compiled (.emacs.elc), `user-init-file' is set
800to the source name (.emacs.el), if that exists, after loading it. 709to the source name (.emacs.el), if that exists, after loading it.
801 710
802---
803** The help string specified for a menu-item whose definition contains 711** The help string specified for a menu-item whose definition contains
804the property `:help HELP' is now displayed under X, on MS-Windows, and 712the property `:help HELP' is now displayed under X, on MS-Windows, and
805MS-DOS, either in the echo area or with tooltips. Many standard menus 713MS-DOS, either in the echo area or with tooltips. Many standard menus
@@ -809,17 +717,14 @@ displayed by Emacs now have help strings.
809** New user option `read-mail-command' specifies a command to use to 717** New user option `read-mail-command' specifies a command to use to
810read mail from the menu etc. 718read mail from the menu etc.
811 719
812+++
813** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows. 720** The environment variable `EMACSLOCKDIR' is no longer used on MS-Windows.
814This environment variable was used when creating lock files. Emacs on 721This environment variable was used when creating lock files. Emacs on
815MS-Windows does not use this variable anymore. This change was made 722MS-Windows does not use this variable anymore. This change was made
816before Emacs 21.1, but wasn't documented until now. 723before Emacs 21.1, but wasn't documented until now.
817 724
818+++
819** Highlighting of mouse-sensitive regions is now supported in the 725** Highlighting of mouse-sensitive regions is now supported in the
820MS-DOS version of Emacs. 726MS-DOS version of Emacs.
821 727
822+++
823** The new command `msdos-set-mouse-buttons' forces the MS-DOS version 728** The new command `msdos-set-mouse-buttons' forces the MS-DOS version
824of Emacs to behave as if the mouse had a specified number of buttons. 729of Emacs to behave as if the mouse had a specified number of buttons.
825This comes handy with mice that don't report their number of buttons 730This comes handy with mice that don't report their number of buttons
@@ -827,7 +732,6 @@ correctly. One example is the wheeled mice, which report 3 buttons,
827but clicks on the middle button are not passed to the MS-DOS version 732but clicks on the middle button are not passed to the MS-DOS version
828of Emacs. 733of Emacs.
829 734
830+++
831** Customize changes 735** Customize changes
832 736
833*** Customize now supports comments about customized items. Use the 737*** Customize now supports comments about customized items. Use the
@@ -848,7 +752,6 @@ file.
848 752
849** New features in evaluation commands 753** New features in evaluation commands
850 754
851+++
852*** The commands to evaluate Lisp expressions, such as C-M-x in Lisp 755*** The commands to evaluate Lisp expressions, such as C-M-x in Lisp
853modes, C-j in Lisp Interaction mode, and M-:, now bind the variables 756modes, C-j in Lisp Interaction mode, and M-:, now bind the variables
854print-level, print-length, and debug-on-error based on the new 757print-level, print-length, and debug-on-error based on the new
@@ -867,11 +770,9 @@ printed representation and an unabbreviated one.
867The default value of eval-expression-debug-on-error is t, so any error 770The default value of eval-expression-debug-on-error is t, so any error
868during evaluation produces a backtrace. 771during evaluation produces a backtrace.
869 772
870---
871*** The function `eval-defun' (M-C-x) now loads Edebug and instruments 773*** The function `eval-defun' (M-C-x) now loads Edebug and instruments
872code when called with a prefix argument. 774code when called with a prefix argument.
873 775
874+++
875** CC mode changes. 776** CC mode changes.
876 777
877Note: This release contains changes that might not be compatible with 778Note: This release contains changes that might not be compatible with
@@ -1121,44 +1022,36 @@ Provan).
1121 1022
1122** Dired changes 1023** Dired changes
1123 1024
1124+++
1125*** New variable `dired-recursive-deletes' determines if the delete 1025*** New variable `dired-recursive-deletes' determines if the delete
1126command will delete non-empty directories recursively. The default 1026command will delete non-empty directories recursively. The default
1127is, delete only empty directories. 1027is, delete only empty directories.
1128 1028
1129+++
1130*** New variable `dired-recursive-copies' determines if the copy 1029*** New variable `dired-recursive-copies' determines if the copy
1131command will copy directories recursively. The default is, do not 1030command will copy directories recursively. The default is, do not
1132copy directories recursively. 1031copy directories recursively.
1133 1032
1134+++
1135*** In command `dired-do-shell-command' (usually bound to `!') a `?' 1033*** In command `dired-do-shell-command' (usually bound to `!') a `?'
1136in the shell command has a special meaning similar to `*', but with 1034in the shell command has a special meaning similar to `*', but with
1137the difference that the command will be run on each file individually. 1035the difference that the command will be run on each file individually.
1138 1036
1139+++
1140*** The new command `dired-find-alternate-file' (usually bound to `a') 1037*** The new command `dired-find-alternate-file' (usually bound to `a')
1141replaces the Dired buffer with the buffer for an alternate file or 1038replaces the Dired buffer with the buffer for an alternate file or
1142directory. 1039directory.
1143 1040
1144---
1145*** The new command `dired-show-file-type' (usually bound to `y') shows 1041*** The new command `dired-show-file-type' (usually bound to `y') shows
1146a message in the echo area describing what type of file the point is on. 1042a message in the echo area describing what type of file the point is on.
1147This command invokes the external program `file' do its work, and so 1043This command invokes the external program `file' do its work, and so
1148will only work on systems with that program, and will be only as 1044will only work on systems with that program, and will be only as
1149accurate or inaccurate as it is. 1045accurate or inaccurate as it is.
1150 1046
1151---
1152*** Dired now properly handles undo changes of adding/removing `-R' 1047*** Dired now properly handles undo changes of adding/removing `-R'
1153from ls switches. 1048from ls switches.
1154 1049
1155---
1156*** Dired commands that prompt for a destination file now allow the use 1050*** Dired commands that prompt for a destination file now allow the use
1157of the `M-n' command in the minibuffer to insert the source filename, 1051of the `M-n' command in the minibuffer to insert the source filename,
1158which the user can then edit. This only works if there is a single 1052which the user can then edit. This only works if there is a single
1159source file, not when operating on multiple marked files. 1053source file, not when operating on multiple marked files.
1160 1054
1161+++
1162** Gnus changes. 1055** Gnus changes.
1163 1056
1164The Gnus NEWS entries are short, but they reflect sweeping changes in 1057The Gnus NEWS entries are short, but they reflect sweeping changes in
@@ -1221,7 +1114,6 @@ ever-changing layouts.
1221 1114
1222*** There is image support of various kinds and some sound support. 1115*** There is image support of various kinds and some sound support.
1223 1116
1224---
1225** Changes in Texinfo mode. 1117** Changes in Texinfo mode.
1226 1118
1227*** A couple of new key bindings have been added for inserting Texinfo 1119*** A couple of new key bindings have been added for inserting Texinfo
@@ -1239,7 +1131,6 @@ macros
1239 1131
1240*** The " key now inserts either " or `` or '' depending on context. 1132*** The " key now inserts either " or `` or '' depending on context.
1241 1133
1242---
1243** Changes in Outline mode. 1134** Changes in Outline mode.
1244 1135
1245There is now support for Imenu to index headings. A new command 1136There is now support for Imenu to index headings. A new command
@@ -1248,7 +1139,6 @@ the kill ring, e.g. to produce a table of contents.
1248 1139
1249** Changes to Emacs Server 1140** Changes to Emacs Server
1250 1141
1251+++
1252*** The new option `server-kill-new-buffers' specifies what to do 1142*** The new option `server-kill-new-buffers' specifies what to do
1253with buffers when done with them. If non-nil, the default, buffers 1143with buffers when done with them. If non-nil, the default, buffers
1254are killed, unless they were already present before visiting them with 1144are killed, unless they were already present before visiting them with
@@ -1259,24 +1149,20 @@ Please note that only buffers are killed that still have a client,
1259i.e. buffers visited with `emacsclient --no-wait' are never killed in 1149i.e. buffers visited with `emacsclient --no-wait' are never killed in
1260this way. 1150this way.
1261 1151
1262+++
1263** Both emacsclient and Emacs itself now accept command line options 1152** Both emacsclient and Emacs itself now accept command line options
1264of the form +LINE:COLUMN in addition to +LINE. 1153of the form +LINE:COLUMN in addition to +LINE.
1265 1154
1266---
1267** Changes to Show Paren mode. 1155** Changes to Show Paren mode.
1268 1156
1269*** Overlays used by Show Paren mode now use a priority property. 1157*** Overlays used by Show Paren mode now use a priority property.
1270The new user option show-paren-priority specifies the priority to 1158The new user option show-paren-priority specifies the priority to
1271use. Default is 1000. 1159use. Default is 1000.
1272 1160
1273+++
1274** New command M-x check-parens can be used to find unbalanced paren 1161** New command M-x check-parens can be used to find unbalanced paren
1275groups and strings in buffers in Lisp mode (or other modes). 1162groups and strings in buffers in Lisp mode (or other modes).
1276 1163
1277** Changes to hideshow.el 1164** Changes to hideshow.el
1278 1165
1279---
1280*** Generalized block selection and traversal 1166*** Generalized block selection and traversal
1281 1167
1282A block is now recognized by its start and end regexps (both strings), 1168A block is now recognized by its start and end regexps (both strings),
@@ -1284,46 +1170,37 @@ and an integer specifying which sub-expression in the start regexp
1284serves as the place where a `forward-sexp'-like function can operate. 1170serves as the place where a `forward-sexp'-like function can operate.
1285See the documentation of variable `hs-special-modes-alist'. 1171See the documentation of variable `hs-special-modes-alist'.
1286 1172
1287---
1288*** During incremental search, if Hideshow minor mode is active, 1173*** During incremental search, if Hideshow minor mode is active,
1289hidden blocks are temporarily shown. The variable `hs-headline' can 1174hidden blocks are temporarily shown. The variable `hs-headline' can
1290be used in the mode line format to show the line at the beginning of 1175be used in the mode line format to show the line at the beginning of
1291the open block. 1176the open block.
1292 1177
1293---
1294*** User option `hs-hide-all-non-comment-function' specifies a 1178*** User option `hs-hide-all-non-comment-function' specifies a
1295function to be called at each top-level block beginning, instead of 1179function to be called at each top-level block beginning, instead of
1296the normal block-hiding function. 1180the normal block-hiding function.
1297 1181
1298---
1299*** The command `hs-show-region' has been removed. 1182*** The command `hs-show-region' has been removed.
1300 1183
1301+++
1302*** The key bindings have changed to fit the Emacs conventions, 1184*** The key bindings have changed to fit the Emacs conventions,
1303roughly imitating those of Outline minor mode. Notably, the prefix 1185roughly imitating those of Outline minor mode. Notably, the prefix
1304for all bindings is now `C-c @'. For details, see the documentation 1186for all bindings is now `C-c @'. For details, see the documentation
1305for `hs-minor-mode'. 1187for `hs-minor-mode'.
1306 1188
1307---
1308*** The variable `hs-show-hidden-short-form' has been removed, and 1189*** The variable `hs-show-hidden-short-form' has been removed, and
1309hideshow.el now always behaves as if this variable were set to t. 1190hideshow.el now always behaves as if this variable were set to t.
1310 1191
1311** Changes to Change Log mode and Add-Log functions 1192** Changes to Change Log mode and Add-Log functions
1312 1193
1313+++
1314*** If you invoke `add-change-log-entry' from a backup file, it makes 1194*** If you invoke `add-change-log-entry' from a backup file, it makes
1315an entry appropriate for the file's parent. This is useful for making 1195an entry appropriate for the file's parent. This is useful for making
1316log entries by comparing a version with deleted functions. 1196log entries by comparing a version with deleted functions.
1317 1197
1318+++
1319**** New command M-x change-log-merge merges another log into the 1198**** New command M-x change-log-merge merges another log into the
1320current buffer. 1199current buffer.
1321 1200
1322+++
1323*** New command M-x change-log-redate fixes any old-style date entries 1201*** New command M-x change-log-redate fixes any old-style date entries
1324in a log file. 1202in a log file.
1325 1203
1326+++
1327*** Change Log mode now adds a file's version number to change log 1204*** Change Log mode now adds a file's version number to change log
1328entries if user-option `change-log-version-info-enabled' is non-nil. 1205entries if user-option `change-log-version-info-enabled' is non-nil.
1329Unless the file is under version control the search for a file's 1206Unless the file is under version control the search for a file's
@@ -1333,7 +1210,6 @@ Version numbers are only found in the first 10 percent of a file.
1333 1210
1334*** Change Log mode now defines its own faces for font-lock highlighting. 1211*** Change Log mode now defines its own faces for font-lock highlighting.
1335 1212
1336---
1337** Changes to cmuscheme 1213** Changes to cmuscheme
1338 1214
1339*** The user-option `scheme-program-name' has been renamed 1215*** The user-option `scheme-program-name' has been renamed
@@ -1341,25 +1217,20 @@ Version numbers are only found in the first 10 percent of a file.
1341 1217
1342** Changes in Font Lock 1218** Changes in Font Lock
1343 1219
1344+++
1345*** The new function `font-lock-remove-keywords' can be used to remove 1220*** The new function `font-lock-remove-keywords' can be used to remove
1346font-lock keywords from the current buffer or from a specific major mode. 1221font-lock keywords from the current buffer or from a specific major mode.
1347 1222
1348---
1349*** Multi-line patterns are now supported. Modes using this, should 1223*** Multi-line patterns are now supported. Modes using this, should
1350set font-lock-multiline to t in their font-lock-defaults. 1224set font-lock-multiline to t in their font-lock-defaults.
1351 1225
1352---
1353*** `font-lock-syntactic-face-function' allows major-modes to choose 1226*** `font-lock-syntactic-face-function' allows major-modes to choose
1354the face used for each string/comment. 1227the face used for each string/comment.
1355 1228
1356---
1357*** A new standard face `font-lock-doc-face'. 1229*** A new standard face `font-lock-doc-face'.
1358Meant for Lisp docstrings, Javadoc comments and other "documentation in code". 1230Meant for Lisp docstrings, Javadoc comments and other "documentation in code".
1359 1231
1360** Changes to Shell mode 1232** Changes to Shell mode
1361 1233
1362+++
1363*** The `shell' command now accepts an optional argument to specify the buffer 1234*** The `shell' command now accepts an optional argument to specify the buffer
1364to use, which defaults to "*shell*". When used interactively, a 1235to use, which defaults to "*shell*". When used interactively, a
1365non-default buffer may be specified by giving the `shell' command a 1236non-default buffer may be specified by giving the `shell' command a
@@ -1370,7 +1241,6 @@ prefix argument (causing it to prompt for the buffer name).
1370These changes generally affect all modes derived from comint mode, which 1241These changes generally affect all modes derived from comint mode, which
1371include shell-mode, gdb-mode, scheme-interaction-mode, etc. 1242include shell-mode, gdb-mode, scheme-interaction-mode, etc.
1372 1243
1373---
1374*** Comint now by default interprets some carriage-control characters. 1244*** Comint now by default interprets some carriage-control characters.
1375Comint now removes CRs from CR LF sequences, and treats single CRs and 1245Comint now removes CRs from CR LF sequences, and treats single CRs and
1376BSs in the output in a way similar to a terminal (by deleting to the 1246BSs in the output in a way similar to a terminal (by deleting to the
@@ -1378,7 +1248,6 @@ beginning of the line, or deleting the previous character,
1378respectively). This is achieved by adding `comint-carriage-motion' to 1248respectively). This is achieved by adding `comint-carriage-motion' to
1379the `comint-output-filter-functions' hook by default. 1249the `comint-output-filter-functions' hook by default.
1380 1250
1381+++
1382*** By default, comint no longer uses the variable `comint-prompt-regexp' 1251*** By default, comint no longer uses the variable `comint-prompt-regexp'
1383to distinguish prompts from user-input. Instead, it notices which 1252to distinguish prompts from user-input. Instead, it notices which
1384parts of the text were output by the process, and which entered by the 1253parts of the text were output by the process, and which entered by the
@@ -1388,11 +1257,9 @@ respect field boundaries in a fairly natural manner. To disable this
1388feature, and use the old behavior, customize the user option 1257feature, and use the old behavior, customize the user option
1389`comint-use-prompt-regexp-instead-of-fields'. 1258`comint-use-prompt-regexp-instead-of-fields'.
1390 1259
1391+++
1392*** Comint now includes new features to send commands to running processes 1260*** Comint now includes new features to send commands to running processes
1393and redirect the output to a designated buffer or buffers. 1261and redirect the output to a designated buffer or buffers.
1394 1262
1395---
1396*** The command M-x comint-redirect-send-command reads a command and 1263*** The command M-x comint-redirect-send-command reads a command and
1397buffer name from the mini-buffer. The command is sent to the current 1264buffer name from the mini-buffer. The command is sent to the current
1398buffer's process, and its output is inserted into the specified buffer. 1265buffer's process, and its output is inserted into the specified buffer.
@@ -1401,33 +1268,27 @@ The command M-x comint-redirect-send-command-to-process acts like
1401M-x comint-redirect-send-command but additionally reads the name of 1268M-x comint-redirect-send-command but additionally reads the name of
1402the buffer whose process should be used from the mini-buffer. 1269the buffer whose process should be used from the mini-buffer.
1403 1270
1404+++
1405*** Packages based on comint now highlight user input and program prompts, 1271*** Packages based on comint now highlight user input and program prompts,
1406and support choosing previous input with mouse-2. To control these features, 1272and support choosing previous input with mouse-2. To control these features,
1407see the user-options `comint-highlight-input' and `comint-highlight-prompt'. 1273see the user-options `comint-highlight-input' and `comint-highlight-prompt'.
1408 1274
1409+++
1410*** The new command `comint-write-output' (usually bound to `C-c C-s') 1275*** The new command `comint-write-output' (usually bound to `C-c C-s')
1411saves the output from the most recent command to a file. With a prefix 1276saves the output from the most recent command to a file. With a prefix
1412argument, it appends to the file. 1277argument, it appends to the file.
1413 1278
1414+++
1415*** The command `comint-kill-output' has been renamed `comint-delete-output' 1279*** The command `comint-kill-output' has been renamed `comint-delete-output'
1416(usually bound to `C-c C-o'); the old name is aliased to it for 1280(usually bound to `C-c C-o'); the old name is aliased to it for
1417compatibility. 1281compatibility.
1418 1282
1419---
1420*** The new function `comint-add-to-input-history' adds commands to the input 1283*** The new function `comint-add-to-input-history' adds commands to the input
1421ring (history). 1284ring (history).
1422 1285
1423---
1424*** The new variable `comint-input-history-ignore' is a regexp for 1286*** The new variable `comint-input-history-ignore' is a regexp for
1425identifying history lines that should be ignored, like tcsh time-stamp 1287identifying history lines that should be ignored, like tcsh time-stamp
1426strings, starting with a `#'. The default value of this variable is "^#". 1288strings, starting with a `#'. The default value of this variable is "^#".
1427 1289
1428** Changes to Rmail mode 1290** Changes to Rmail mode
1429 1291
1430---
1431*** The new user-option rmail-user-mail-address-regexp can be 1292*** The new user-option rmail-user-mail-address-regexp can be
1432set to fine tune the identification of the correspondent when 1293set to fine tune the identification of the correspondent when
1433receiving new mail. If it matches the address of the sender, the 1294receiving new mail. If it matches the address of the sender, the
@@ -1439,40 +1300,32 @@ Usually you don't have to set this variable, except if you collect
1439mails sent by you under different user names. Then it should be a 1300mails sent by you under different user names. Then it should be a
1440regexp matching your mail addresses. 1301regexp matching your mail addresses.
1441 1302
1442---
1443*** The new user-option rmail-confirm-expunge controls whether and how 1303*** The new user-option rmail-confirm-expunge controls whether and how
1444to ask for confirmation before expunging deleted messages from an 1304to ask for confirmation before expunging deleted messages from an
1445Rmail file. You can choose between no confirmation, confirmation 1305Rmail file. You can choose between no confirmation, confirmation
1446with y-or-n-p, or confirmation with yes-or-no-p. Default is to ask 1306with y-or-n-p, or confirmation with yes-or-no-p. Default is to ask
1447for confirmation with yes-or-no-p. 1307for confirmation with yes-or-no-p.
1448 1308
1449---
1450*** RET is now bound in the Rmail summary to rmail-summary-goto-msg, 1309*** RET is now bound in the Rmail summary to rmail-summary-goto-msg,
1451like `j'. 1310like `j'.
1452 1311
1453---
1454*** There is a new user option `rmail-digest-end-regexps' that 1312*** There is a new user option `rmail-digest-end-regexps' that
1455specifies the regular expressions to detect the line that ends a 1313specifies the regular expressions to detect the line that ends a
1456digest message. 1314digest message.
1457 1315
1458---
1459*** The new user option `rmail-automatic-folder-directives' specifies 1316*** The new user option `rmail-automatic-folder-directives' specifies
1460in which folder to put messages automatically. 1317in which folder to put messages automatically.
1461 1318
1462+++
1463*** The new function `rmail-redecode-body' allows to fix a message 1319*** The new function `rmail-redecode-body' allows to fix a message
1464with non-ASCII characters if Emacs happens to decode it incorrectly 1320with non-ASCII characters if Emacs happens to decode it incorrectly
1465due to missing or malformed "charset=" header. 1321due to missing or malformed "charset=" header.
1466 1322
1467---
1468** The new user-option `mail-envelope-from' can be used to specify 1323** The new user-option `mail-envelope-from' can be used to specify
1469an envelope-from address different from user-mail-address. 1324an envelope-from address different from user-mail-address.
1470 1325
1471---
1472** The variable mail-specify-envelope-from controls whether to 1326** The variable mail-specify-envelope-from controls whether to
1473use the -f option when sending mail. 1327use the -f option when sending mail.
1474 1328
1475---
1476** Changes to TeX mode 1329** Changes to TeX mode
1477 1330
1478*** The default mode has been changed from `plain-tex-mode' to 1331*** The default mode has been changed from `plain-tex-mode' to
@@ -1530,62 +1383,48 @@ file names.
1530 1383
1531** Ispell changes 1384** Ispell changes
1532 1385
1533+++
1534*** The command `ispell' now spell-checks a region if 1386*** The command `ispell' now spell-checks a region if
1535transient-mark-mode is on, and the mark is active. Otherwise it 1387transient-mark-mode is on, and the mark is active. Otherwise it
1536spell-checks the current buffer. 1388spell-checks the current buffer.
1537 1389
1538+++
1539*** Support for synchronous subprocesses - DOS/Windoze - has been 1390*** Support for synchronous subprocesses - DOS/Windoze - has been
1540added. 1391added.
1541 1392
1542---
1543*** An "alignment error" bug was fixed when a manual spelling 1393*** An "alignment error" bug was fixed when a manual spelling
1544correction is made and re-checked. 1394correction is made and re-checked.
1545 1395
1546---
1547*** An Italian, Portuguese, and Slovak dictionary definition has been added. 1396*** An Italian, Portuguese, and Slovak dictionary definition has been added.
1548 1397
1549---
1550*** Region skipping performance has been vastly improved in some 1398*** Region skipping performance has been vastly improved in some
1551cases. 1399cases.
1552 1400
1553---
1554*** Spell checking HTML buffers has been improved and isn't so strict 1401*** Spell checking HTML buffers has been improved and isn't so strict
1555on syntax errors. 1402on syntax errors.
1556 1403
1557---
1558*** The buffer-local words are now always placed on a new line at the 1404*** The buffer-local words are now always placed on a new line at the
1559end of the buffer. 1405end of the buffer.
1560 1406
1561---
1562*** Spell checking now works in the MS-DOS version of Emacs. 1407*** Spell checking now works in the MS-DOS version of Emacs.
1563 1408
1564** Makefile mode changes 1409** Makefile mode changes
1565 1410
1566---
1567*** The mode now uses the abbrev table `makefile-mode-abbrev-table'. 1411*** The mode now uses the abbrev table `makefile-mode-abbrev-table'.
1568 1412
1569---
1570*** Conditionals and include statements are now highlighted when 1413*** Conditionals and include statements are now highlighted when
1571Fontlock mode is active. 1414Fontlock mode is active.
1572 1415
1573** Isearch changes 1416** Isearch changes
1574 1417
1575---
1576*** Isearch now puts a call to `isearch-resume' in the command history, 1418*** Isearch now puts a call to `isearch-resume' in the command history,
1577so that searches can be resumed. 1419so that searches can be resumed.
1578 1420
1579---
1580*** In Isearch mode, M-C-s and M-C-r are now bound like C-s and C-r, 1421*** In Isearch mode, M-C-s and M-C-r are now bound like C-s and C-r,
1581respectively, i.e. you can repeat a regexp isearch with the same keys 1422respectively, i.e. you can repeat a regexp isearch with the same keys
1582that started the search. 1423that started the search.
1583 1424
1584---
1585*** In Isearch mode, mouse-2 in the echo area now yanks the current 1425*** In Isearch mode, mouse-2 in the echo area now yanks the current
1586selection into the search string rather than giving an error. 1426selection into the search string rather than giving an error.
1587 1427
1588+++
1589*** There is a new lazy highlighting feature in incremental search. 1428*** There is a new lazy highlighting feature in incremental search.
1590 1429
1591Lazy highlighting is switched on/off by customizing variable 1430Lazy highlighting is switched on/off by customizing variable
@@ -1810,7 +1649,6 @@ Features are:
1810- Picture mode compatibility: Artist is picture mode compatible (this 1649- Picture mode compatibility: Artist is picture mode compatible (this
1811 can be turned off). 1650 can be turned off).
1812 1651
1813+++
1814*** The new package Eshell is an operating system command shell 1652*** The new package Eshell is an operating system command shell
1815implemented entirely in Emacs Lisp. Use `M-x eshell' to invoke it. 1653implemented entirely in Emacs Lisp. Use `M-x eshell' to invoke it.
1816It functions similarly to bash and zsh, and allows running of Lisp 1654It functions similarly to bash and zsh, and allows running of Lisp
@@ -1821,13 +1659,11 @@ the basic commands -- ls, rm, mv, cp, ln, du, cat, etc. -- have been
1821rewritten in Lisp, it offers an operating-system independent shell, 1659rewritten in Lisp, it offers an operating-system independent shell,
1822all within the scope of your Emacs process. 1660all within the scope of your Emacs process.
1823 1661
1824+++
1825*** The new package timeclock.el is a mode is for keeping track of time 1662*** The new package timeclock.el is a mode is for keeping track of time
1826intervals. You can use it for whatever purpose you like, but the 1663intervals. You can use it for whatever purpose you like, but the
1827typical scenario is to keep track of how much time you spend working 1664typical scenario is to keep track of how much time you spend working
1828on certain projects. 1665on certain projects.
1829 1666
1830+++
1831*** The new package hi-lock.el provides commands to highlight matches 1667*** The new package hi-lock.el provides commands to highlight matches
1832of interactively entered regexps. For example, 1668of interactively entered regexps. For example,
1833 1669
@@ -1842,38 +1678,31 @@ current buffer in a form that will be recognized the next time the
1842corresponding file is read. There are commands to highlight matches 1678corresponding file is read. There are commands to highlight matches
1843to phrases and to highlight entire lines containing a match. 1679to phrases and to highlight entire lines containing a match.
1844 1680
1845+++
1846*** The new package zone.el plays games with Emacs' display when 1681*** The new package zone.el plays games with Emacs' display when
1847Emacs is idle. 1682Emacs is idle.
1848 1683
1849+++
1850*** The new package tildify.el allows to add hard spaces or other text 1684*** The new package tildify.el allows to add hard spaces or other text
1851fragments in accordance with the current major mode. 1685fragments in accordance with the current major mode.
1852 1686
1853---
1854*** The new package xml.el provides a simple but generic XML 1687*** The new package xml.el provides a simple but generic XML
1855parser. It doesn't parse the DTDs however. 1688parser. It doesn't parse the DTDs however.
1856 1689
1857+++
1858*** The comment operations are now provided by the newcomment.el 1690*** The comment operations are now provided by the newcomment.el
1859package which allows different styles of comment-region and should 1691package which allows different styles of comment-region and should
1860be more robust while offering the same functionality. 1692be more robust while offering the same functionality.
1861`comment-region' now doesn't always comment a-line-at-a-time, but only 1693`comment-region' now doesn't always comment a-line-at-a-time, but only
1862comments the region, breaking the line at point if necessary. 1694comments the region, breaking the line at point if necessary.
1863 1695
1864+++
1865*** The Ebrowse package implements a C++ class browser and tags 1696*** The Ebrowse package implements a C++ class browser and tags
1866facilities tailored for use with C++. It is documented in a 1697facilities tailored for use with C++. It is documented in a
1867separate Texinfo file. 1698separate Texinfo file.
1868 1699
1869+++
1870*** The PCL-CVS package available by either running M-x cvs-examine or 1700*** The PCL-CVS package available by either running M-x cvs-examine or
1871by visiting a CVS administrative directory (with a prefix argument) 1701by visiting a CVS administrative directory (with a prefix argument)
1872provides an alternative interface to VC-dired for CVS. It comes with 1702provides an alternative interface to VC-dired for CVS. It comes with
1873`log-view-mode' to view RCS and SCCS logs and `log-edit-mode' used to 1703`log-view-mode' to view RCS and SCCS logs and `log-edit-mode' used to
1874enter check-in log messages. 1704enter check-in log messages.
1875 1705
1876+++
1877*** The new package called `woman' allows to browse Unix man pages 1706*** The new package called `woman' allows to browse Unix man pages
1878without invoking external programs. 1707without invoking external programs.
1879 1708
@@ -1886,7 +1715,6 @@ Groff or `troff' commands are not readily available.
1886The command `M-x woman-find-file' asks for the file name of a man 1715The command `M-x woman-find-file' asks for the file name of a man
1887page, then formats and displays it like `M-x woman' does. 1716page, then formats and displays it like `M-x woman' does.
1888 1717
1889+++
1890*** The new command M-x re-builder offers a convenient interface for 1718*** The new command M-x re-builder offers a convenient interface for
1891authoring regular expressions with immediate visual feedback. 1719authoring regular expressions with immediate visual feedback.
1892 1720
@@ -1902,12 +1730,10 @@ matching parens to make them stand out. On such a setup you will
1902probably also want to use the sub-expression mode when the regexp 1730probably also want to use the sub-expression mode when the regexp
1903contains such to get feedback about their respective limits. 1731contains such to get feedback about their respective limits.
1904 1732
1905+++
1906*** glasses-mode is a minor mode that makes 1733*** glasses-mode is a minor mode that makes
1907unreadableIdentifiersLikeThis readable. It works as glasses, without 1734unreadableIdentifiersLikeThis readable. It works as glasses, without
1908actually modifying content of a buffer. 1735actually modifying content of a buffer.
1909 1736
1910---
1911*** The package ebnf2ps translates an EBNF to a syntactic chart in 1737*** The package ebnf2ps translates an EBNF to a syntactic chart in
1912PostScript. 1738PostScript.
1913 1739
@@ -1940,26 +1766,21 @@ The ad-hoc default EBNF syntax has the following elements:
1940 1766
1941Please, see ebnf2ps documentation for EBNF syntax and how to use it. 1767Please, see ebnf2ps documentation for EBNF syntax and how to use it.
1942 1768
1943---
1944*** The package align.el will align columns within a region, using M-x 1769*** The package align.el will align columns within a region, using M-x
1945align. Its mode-specific rules, based on regular expressions, 1770align. Its mode-specific rules, based on regular expressions,
1946determine where the columns should be split. In C and C++, for 1771determine where the columns should be split. In C and C++, for
1947example, it will align variable names in declaration lists, or the 1772example, it will align variable names in declaration lists, or the
1948equal signs of assignments. 1773equal signs of assignments.
1949 1774
1950+++
1951*** `paragraph-indent-minor-mode' is a new minor mode supporting 1775*** `paragraph-indent-minor-mode' is a new minor mode supporting
1952paragraphs in the same style as `paragraph-indent-text-mode'. 1776paragraphs in the same style as `paragraph-indent-text-mode'.
1953 1777
1954+++
1955*** bs.el is a new package for buffer selection similar to 1778*** bs.el is a new package for buffer selection similar to
1956list-buffers or electric-buffer-list. Use M-x bs-show to display a 1779list-buffers or electric-buffer-list. Use M-x bs-show to display a
1957buffer menu with this package. See the Custom group `bs'. 1780buffer menu with this package. See the Custom group `bs'.
1958 1781
1959---
1960*** find-lisp.el is a package emulating the Unix find command in Lisp. 1782*** find-lisp.el is a package emulating the Unix find command in Lisp.
1961 1783
1962---
1963*** calculator.el is a small calculator package that is intended to 1784*** calculator.el is a small calculator package that is intended to
1964replace desktop calculators such as xcalc and calc.exe. Actually, it 1785replace desktop calculators such as xcalc and calc.exe. Actually, it
1965is not too small - it has more features than most desktop calculators, 1786is not too small - it has more features than most desktop calculators,
@@ -1967,7 +1788,6 @@ and can be customized easily to get many more functions. It should
1967not be confused with "calc" which is a much bigger mathematical tool 1788not be confused with "calc" which is a much bigger mathematical tool
1968which answers different needs. 1789which answers different needs.
1969 1790
1970+++
1971*** The minor modes cwarn-mode and global-cwarn-mode highlights 1791*** The minor modes cwarn-mode and global-cwarn-mode highlights
1972suspicious C and C++ constructions. Currently, assignments inside 1792suspicious C and C++ constructions. Currently, assignments inside
1973expressions, semicolon following `if', `for' and `while' (except, of 1793expressions, semicolon following `if', `for' and `while' (except, of
@@ -1975,19 +1795,15 @@ course, after a `do .. while' statement), and C++ functions with
1975reference parameters are recognized. The modes require font-lock mode 1795reference parameters are recognized. The modes require font-lock mode
1976to be enabled. 1796to be enabled.
1977 1797
1978+++
1979*** smerge-mode.el provides `smerge-mode', a simple minor-mode for files 1798*** smerge-mode.el provides `smerge-mode', a simple minor-mode for files
1980containing diff3-style conflict markers, such as generated by RCS. 1799containing diff3-style conflict markers, such as generated by RCS.
1981 1800
1982+++
1983*** 5x5.el is a simple puzzle game. 1801*** 5x5.el is a simple puzzle game.
1984 1802
1985+++
1986*** hl-line.el provides `hl-line-mode', a minor mode to highlight the 1803*** hl-line.el provides `hl-line-mode', a minor mode to highlight the
1987current line in the current buffer. It also provides 1804current line in the current buffer. It also provides
1988`global-hl-line-mode' to provide the same behaviour in all buffers. 1805`global-hl-line-mode' to provide the same behaviour in all buffers.
1989 1806
1990---
1991*** ansi-color.el translates ANSI terminal escapes into text-properties. 1807*** ansi-color.el translates ANSI terminal escapes into text-properties.
1992 1808
1993Please note: if `ansi-color-for-comint-mode' and 1809Please note: if `ansi-color-for-comint-mode' and
@@ -1997,25 +1813,19 @@ disable font-lock and add `ansi-color-apply' to
1997displays the output of "ls --color=yes" using the correct foreground 1813displays the output of "ls --color=yes" using the correct foreground
1998and background colors. 1814and background colors.
1999 1815
2000---
2001*** delphi.el provides a major mode for editing the Delphi (Object 1816*** delphi.el provides a major mode for editing the Delphi (Object
2002Pascal) language. 1817Pascal) language.
2003 1818
2004+++
2005*** quickurl.el provides a simple method of inserting a URL based on 1819*** quickurl.el provides a simple method of inserting a URL based on
2006the text at point. 1820the text at point.
2007 1821
2008---
2009*** sql.el provides an interface to SQL data bases. 1822*** sql.el provides an interface to SQL data bases.
2010 1823
2011+++
2012*** fortune.el uses the fortune program to create mail/news signatures. 1824*** fortune.el uses the fortune program to create mail/news signatures.
2013 1825
2014---
2015*** whitespace.el is a package for warning about and cleaning bogus 1826*** whitespace.el is a package for warning about and cleaning bogus
2016whitespace in a file. 1827whitespace in a file.
2017 1828
2018---
2019*** PostScript mode (ps-mode) is a new major mode for editing PostScript 1829*** PostScript mode (ps-mode) is a new major mode for editing PostScript
2020files. It offers: interaction with a PostScript interpreter, including 1830files. It offers: interaction with a PostScript interpreter, including
2021(very basic) error handling; fontification, easily customizable for 1831(very basic) error handling; fontification, easily customizable for
@@ -2024,7 +1834,6 @@ often used code snippets; viewing of BoundingBox; commenting out /
2024uncommenting regions; conversion of 8bit characters to PostScript octal 1834uncommenting regions; conversion of 8bit characters to PostScript octal
2025codes. All functionality is accessible through a menu. 1835codes. All functionality is accessible through a menu.
2026 1836
2027---
2028*** delim-col helps to prettify columns in a text region or rectangle. 1837*** delim-col helps to prettify columns in a text region or rectangle.
2029 1838
2030Here is an example of columns: 1839Here is an example of columns:
@@ -2070,7 +1879,6 @@ delim-col has the following commands:
2070 delimit-columns-region Prettify all columns in a text region. 1879 delimit-columns-region Prettify all columns in a text region.
2071 delimit-columns-rectangle Prettify all columns in a text rectangle. 1880 delimit-columns-rectangle Prettify all columns in a text rectangle.
2072 1881
2073+++
2074*** Recentf mode maintains a menu for visiting files that were 1882*** Recentf mode maintains a menu for visiting files that were
2075operated on recently. User option recentf-menu-filter specifies a 1883operated on recently. User option recentf-menu-filter specifies a
2076menu filter function to change the menu appearance. For example, the 1884menu filter function to change the menu appearance. For example, the
@@ -2083,60 +1891,47 @@ recent file list can be displayed:
2083The `recentf-filter-changer' menu filter function allows to 1891The `recentf-filter-changer' menu filter function allows to
2084dynamically change the menu appearance. 1892dynamically change the menu appearance.
2085 1893
2086---
2087*** elide-head.el provides a mechanism for eliding boilerplate header 1894*** elide-head.el provides a mechanism for eliding boilerplate header
2088text. 1895text.
2089 1896
2090+++
2091*** footnote.el provides `footnote-mode', a minor mode supporting use 1897*** footnote.el provides `footnote-mode', a minor mode supporting use
2092of footnotes. It is intended for use with Message mode, but isn't 1898of footnotes. It is intended for use with Message mode, but isn't
2093specific to Message mode. 1899specific to Message mode.
2094 1900
2095+++
2096*** diff-mode.el provides `diff-mode', a major mode for 1901*** diff-mode.el provides `diff-mode', a major mode for
2097viewing/editing context diffs (patches). It is selected for files 1902viewing/editing context diffs (patches). It is selected for files
2098with extension `.diff', `.diffs', `.patch' and `.rej'. 1903with extension `.diff', `.diffs', `.patch' and `.rej'.
2099 1904
2100---
2101*** EUDC, the Emacs Unified Directory Client, provides a common user 1905*** EUDC, the Emacs Unified Directory Client, provides a common user
2102interface to access directory servers using different directory 1906interface to access directory servers using different directory
2103protocols. It has a separate manual. 1907protocols. It has a separate manual.
2104 1908
2105---
2106*** autoconf.el provides a major mode for editing configure.in files 1909*** autoconf.el provides a major mode for editing configure.in files
2107for Autoconf, selected automatically. 1910for Autoconf, selected automatically.
2108 1911
2109+++
2110*** windmove.el provides moving between windows. 1912*** windmove.el provides moving between windows.
2111 1913
2112---
2113*** crm.el provides a facility to read multiple strings from the 1914*** crm.el provides a facility to read multiple strings from the
2114minibuffer with completion. 1915minibuffer with completion.
2115 1916
2116---
2117*** todo-mode.el provides management of TODO lists and integration 1917*** todo-mode.el provides management of TODO lists and integration
2118with the diary features. 1918with the diary features.
2119 1919
2120---
2121*** autoarg.el provides a feature reported from Twenex Emacs whereby 1920*** autoarg.el provides a feature reported from Twenex Emacs whereby
2122numeric keys supply prefix args rather than self inserting. 1921numeric keys supply prefix args rather than self inserting.
2123 1922
2124---
2125*** The function `turn-off-auto-fill' unconditionally turns off Auto 1923*** The function `turn-off-auto-fill' unconditionally turns off Auto
2126Fill mode. 1924Fill mode.
2127 1925
2128---
2129*** pcomplete.el is a library that provides programmable completion 1926*** pcomplete.el is a library that provides programmable completion
2130facilities for Emacs, similar to what zsh and tcsh offer. The main 1927facilities for Emacs, similar to what zsh and tcsh offer. The main
2131difference is that completion functions are written in Lisp, meaning 1928difference is that completion functions are written in Lisp, meaning
2132they can be profiled, debugged, etc. 1929they can be profiled, debugged, etc.
2133 1930
2134---
2135*** antlr-mode is a new major mode for editing ANTLR grammar files. 1931*** antlr-mode is a new major mode for editing ANTLR grammar files.
2136It is automatically turned on for files whose names have the extension 1932It is automatically turned on for files whose names have the extension
2137`.g'. 1933`.g'.
2138 1934
2139+++
2140** Changes in sort.el 1935** Changes in sort.el
2141 1936
2142The function sort-numeric-fields interprets numbers starting with `0' 1937The function sort-numeric-fields interprets numbers starting with `0'
@@ -2146,33 +1941,26 @@ numeric base.
2146 1941
2147** Changes to Ange-ftp 1942** Changes to Ange-ftp
2148 1943
2149+++
2150*** Ange-ftp allows you to specify of a port number in remote file 1944*** Ange-ftp allows you to specify of a port number in remote file
2151names cleanly. It is appended to the host name, separated by a hash 1945names cleanly. It is appended to the host name, separated by a hash
2152sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.) 1946sign, e.g. `/foo@bar.org#666:mumble'. (This syntax comes from EFS.)
2153 1947
2154---
2155*** If the new user-option `ange-ftp-try-passive-mode' is set, passive 1948*** If the new user-option `ange-ftp-try-passive-mode' is set, passive
2156ftp mode will be used if the ftp client supports that. 1949ftp mode will be used if the ftp client supports that.
2157 1950
2158---
2159*** Ange-ftp handles the output of the w32-style clients which 1951*** Ange-ftp handles the output of the w32-style clients which
2160output ^M at the end of lines. 1952output ^M at the end of lines.
2161 1953
2162+++
2163** The recommended way of using Iswitchb is via the new global minor 1954** The recommended way of using Iswitchb is via the new global minor
2164mode `iswitchb-mode'. 1955mode `iswitchb-mode'.
2165 1956
2166+++
2167** Just loading the msb package doesn't switch on Msb mode anymore. 1957** Just loading the msb package doesn't switch on Msb mode anymore.
2168If you have `(require 'msb)' in your .emacs, please replace it with 1958If you have `(require 'msb)' in your .emacs, please replace it with
2169`(msb-mode 1)'. 1959`(msb-mode 1)'.
2170 1960
2171---
2172** Flyspell mode has various new options. See the `flyspell' Custom 1961** Flyspell mode has various new options. See the `flyspell' Custom
2173group. 1962group.
2174 1963
2175---
2176** The user option `backward-delete-char-untabify-method' controls the 1964** The user option `backward-delete-char-untabify-method' controls the
2177behavior of `backward-delete-char-untabify'. The following values 1965behavior of `backward-delete-char-untabify'. The following values
2178are recognized: 1966are recognized:
@@ -2186,39 +1974,31 @@ Default value is `untabify'.
2186 1974
2187[This change was made in Emacs 20.3 but not mentioned then.] 1975[This change was made in Emacs 20.3 but not mentioned then.]
2188 1976
2189---
2190** In Cperl mode `cperl-invalid-face' should now be a normal face 1977** In Cperl mode `cperl-invalid-face' should now be a normal face
2191symbol, not double-quoted. 1978symbol, not double-quoted.
2192 1979
2193---
2194** Some packages are declared obsolete, to be removed in a future 1980** Some packages are declared obsolete, to be removed in a future
2195version. They are: auto-show, c-mode, hilit19, hscroll, ooutline, 1981version. They are: auto-show, c-mode, hilit19, hscroll, ooutline,
2196profile, rnews, rnewspost, and sc. Their implementations have been 1982profile, rnews, rnewspost, and sc. Their implementations have been
2197moved to lisp/obsolete. 1983moved to lisp/obsolete.
2198 1984
2199+++
2200** auto-compression mode is no longer enabled just by loading jka-compr.el. 1985** auto-compression mode is no longer enabled just by loading jka-compr.el.
2201To control it, set `auto-compression-mode' via Custom or use the 1986To control it, set `auto-compression-mode' via Custom or use the
2202`auto-compression-mode' command. 1987`auto-compression-mode' command.
2203 1988
2204---
2205** `browse-url-gnome-moz' is a new option for 1989** `browse-url-gnome-moz' is a new option for
2206`browse-url-browser-function', invoking Mozilla in GNOME, and 1990`browse-url-browser-function', invoking Mozilla in GNOME, and
2207`browse-url-kde' can be chosen for invoking the KDE browser. 1991`browse-url-kde' can be chosen for invoking the KDE browser.
2208 1992
2209---
2210** The user-option `browse-url-new-window-p' has been renamed to 1993** The user-option `browse-url-new-window-p' has been renamed to
2211`browse-url-new-window-flag'. 1994`browse-url-new-window-flag'.
2212 1995
2213+++
2214** The functions `keep-lines', `flush-lines' and `how-many' now 1996** The functions `keep-lines', `flush-lines' and `how-many' now
2215operate on the active region in Transient Mark mode. 1997operate on the active region in Transient Mark mode.
2216 1998
2217+++
2218** `gnus-user-agent' is a new possibility for `mail-user-agent'. It 1999** `gnus-user-agent' is a new possibility for `mail-user-agent'. It
2219is like `message-user-agent', but with all the Gnus paraphernalia. 2000is like `message-user-agent', but with all the Gnus paraphernalia.
2220 2001
2221---
2222** The Strokes package has been updated. If your Emacs has XPM 2002** The Strokes package has been updated. If your Emacs has XPM
2223support, you can use it for pictographic editing. In Strokes mode, 2003support, you can use it for pictographic editing. In Strokes mode,
2224use C-mouse-2 to compose a complex stoke and insert it into the 2004use C-mouse-2 to compose a complex stoke and insert it into the
@@ -2226,24 +2006,20 @@ buffer. You can encode or decode a strokes buffer with new commands
2226M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a 2006M-x strokes-encode-buffer and M-x strokes-decode-buffer. There is a
2227new command M-x strokes-list-strokes. 2007new command M-x strokes-list-strokes.
2228 2008
2229+++
2230** Hexl contains a new command `hexl-insert-hex-string' which inserts 2009** Hexl contains a new command `hexl-insert-hex-string' which inserts
2231a string of hexadecimal numbers read from the mini-buffer. 2010a string of hexadecimal numbers read from the mini-buffer.
2232 2011
2233---
2234** Hexl mode allows to insert non-ASCII characters. 2012** Hexl mode allows to insert non-ASCII characters.
2235 2013
2236The non-ASCII characters are encoded using the same encoding as the 2014The non-ASCII characters are encoded using the same encoding as the
2237file you are visiting in Hexl mode. 2015file you are visiting in Hexl mode.
2238 2016
2239---
2240** Shell script mode changes. 2017** Shell script mode changes.
2241 2018
2242Shell script mode (sh-script) can now indent scripts for shells 2019Shell script mode (sh-script) can now indent scripts for shells
2243derived from sh and rc. The indentation style is customizable, and 2020derived from sh and rc. The indentation style is customizable, and
2244sh-script can attempt to "learn" the current buffer's style. 2021sh-script can attempt to "learn" the current buffer's style.
2245 2022
2246---
2247** Etags changes. 2023** Etags changes.
2248 2024
2249*** In DOS, etags looks for file.cgz if it cannot find file.c. 2025*** In DOS, etags looks for file.cgz if it cannot find file.c.
@@ -2287,7 +2063,6 @@ variables are tagged.
2287*** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is 2063*** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is
2288for PSWrap. 2064for PSWrap.
2289 2065
2290+++
2291** Changes in etags.el 2066** Changes in etags.el
2292 2067
2293*** The new user-option tags-case-fold-search can be used to make 2068*** The new user-option tags-case-fold-search can be used to make
@@ -2333,35 +2108,28 @@ auto-compression-mode is active. You can tag (with Etags) and search
2333in buffers where no match is found. In buffers where a match is 2108in buffers where no match is found. In buffers where a match is
2334found, the original value of point is pushed on the marker ring. 2109found, the original value of point is pushed on the marker ring.
2335 2110
2336+++
2337** Fortran mode has a new command `fortran-strip-sequence-nos' to 2111** Fortran mode has a new command `fortran-strip-sequence-nos' to
2338remove text past column 72. The syntax class of `\' in Fortran is now 2112remove text past column 72. The syntax class of `\' in Fortran is now
2339appropriate for C-style escape sequences in strings. 2113appropriate for C-style escape sequences in strings.
2340 2114
2341** SGML mode's default `sgml-validate-command' is now `nsgmls'. 2115** SGML mode's default `sgml-validate-command' is now `nsgmls'.
2342 2116
2343+++
2344** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file. 2117** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file.
2345 2118
2346+++
2347** The Dabbrev package has a new user-option `dabbrev-ignored-regexps' 2119** The Dabbrev package has a new user-option `dabbrev-ignored-regexps'
2348containing a list of regular expressions. Buffers matching a regular 2120containing a list of regular expressions. Buffers matching a regular
2349expression from that list, are not checked. 2121expression from that list, are not checked.
2350 2122
2351---
2352** Emacs can now figure out modification times of remote files. 2123** Emacs can now figure out modification times of remote files.
2353When you do C-x C-f /user@host:/path/file RET and edit the file, 2124When you do C-x C-f /user@host:/path/file RET and edit the file,
2354and someone else modifies the file, you will be prompted to revert 2125and someone else modifies the file, you will be prompted to revert
2355the buffer, just like for the local files. 2126the buffer, just like for the local files.
2356 2127
2357---
2358** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer. 2128** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer.
2359 2129
2360+++
2361** When invoked with a prefix argument, the command `list-abbrevs' now 2130** When invoked with a prefix argument, the command `list-abbrevs' now
2362displays local abbrevs, only. 2131displays local abbrevs, only.
2363 2132
2364+++
2365** Refill minor mode provides preliminary support for keeping 2133** Refill minor mode provides preliminary support for keeping
2366paragraphs filled as you modify them. 2134paragraphs filled as you modify them.
2367 2135
@@ -2369,11 +2137,9 @@ paragraphs filled as you modify them.
2369may be moved between clicks that are recognized as a pair. Its value 2137may be moved between clicks that are recognized as a pair. Its value
2370is measured in pixels. 2138is measured in pixels.
2371 2139
2372+++
2373** The new global minor mode `auto-image-file-mode' allows image files 2140** The new global minor mode `auto-image-file-mode' allows image files
2374to be visited as images. 2141to be visited as images.
2375 2142
2376---
2377** Withdrawn packages 2143** Withdrawn packages
2378 2144
2379*** mldrag.el has been removed. mouse.el provides the same 2145*** mldrag.el has been removed. mouse.el provides the same
@@ -2462,15 +2228,12 @@ will not have any effect when support for this variable is removed.
2462 2228
2463** Function assq-delete-all replaces function assoc-delete-all. 2229** Function assq-delete-all replaces function assoc-delete-all.
2464 2230
2465---
2466** The new function amimate-string, from lisp/play/animate.el 2231** The new function amimate-string, from lisp/play/animate.el
2467allows the animated display of strings. 2232allows the animated display of strings.
2468 2233
2469+++
2470** The new function `interactive-form' can be used to obtain the 2234** The new function `interactive-form' can be used to obtain the
2471interactive form of a function. 2235interactive form of a function.
2472 2236
2473+++
2474** The keyword :set-after in defcustom allows to specify dependencies 2237** The keyword :set-after in defcustom allows to specify dependencies
2475between custom options. Example: 2238between custom options. Example:
2476 2239
@@ -2486,36 +2249,28 @@ This specifies that default-input-method should be set after
2486current-language-environment even if default-input-method appears 2249current-language-environment even if default-input-method appears
2487first in a custom-set-variables statement. 2250first in a custom-set-variables statement.
2488 2251
2489+++
2490** The new hook `kbd-macro-termination-hook' is run at the end of 2252** The new hook `kbd-macro-termination-hook' is run at the end of
2491function execute-kbd-macro. Functions on this hook are called with no 2253function execute-kbd-macro. Functions on this hook are called with no
2492args. The hook is run independent of how the macro was terminated 2254args. The hook is run independent of how the macro was terminated
2493(signal or normal termination). 2255(signal or normal termination).
2494 2256
2495+++
2496** Functions `butlast' and `nbutlast' for removing trailing elements 2257** Functions `butlast' and `nbutlast' for removing trailing elements
2497from a list are now available without requiring the CL package. 2258from a list are now available without requiring the CL package.
2498 2259
2499+++
2500** The new user-option `even-window-heights' can be set to nil 2260** The new user-option `even-window-heights' can be set to nil
2501to prevent `display-buffer' from evening out window heights. 2261to prevent `display-buffer' from evening out window heights.
2502 2262
2503+++
2504** The user-option `face-font-registry-alternatives' specifies 2263** The user-option `face-font-registry-alternatives' specifies
2505alternative font registry names to try when looking for a font. 2264alternative font registry names to try when looking for a font.
2506 2265
2507+++
2508** Function `md5' calculates the MD5 "message digest"/"checksum". 2266** Function `md5' calculates the MD5 "message digest"/"checksum".
2509 2267
2510+++
2511** Function `delete-frame' runs `delete-frame-hook' before actually 2268** Function `delete-frame' runs `delete-frame-hook' before actually
2512deleting the frame. The hook is called with one arg, the frame 2269deleting the frame. The hook is called with one arg, the frame
2513being deleted. 2270being deleted.
2514 2271
2515+++
2516** `add-hook' now makes the hook local if called with a non-nil LOCAL arg. 2272** `add-hook' now makes the hook local if called with a non-nil LOCAL arg.
2517 2273
2518+++
2519** The treatment of non-ASCII characters in search ranges has changed. 2274** The treatment of non-ASCII characters in search ranges has changed.
2520If a range in a regular expression or the arg of 2275If a range in a regular expression or the arg of
2521skip-chars-forward/backward starts with a unibyte character C and ends 2276skip-chars-forward/backward starts with a unibyte character C and ends
@@ -2523,27 +2278,21 @@ with a multibyte character C2, the range is divided into two: one is
2523C..?\377, the other is C1..C2, where C1 is the first character of C2's 2278C..?\377, the other is C1..C2, where C1 is the first character of C2's
2524charset. 2279charset.
2525 2280
2526+++
2527** The new function `display-message-or-buffer' displays a message in 2281** The new function `display-message-or-buffer' displays a message in
2528the echo area or pops up a buffer, depending on the length of the 2282the echo area or pops up a buffer, depending on the length of the
2529message. 2283message.
2530 2284
2531---
2532** The new macro `with-auto-compression-mode' allows evaluating an 2285** The new macro `with-auto-compression-mode' allows evaluating an
2533expression with auto-compression-mode enabled. 2286expression with auto-compression-mode enabled.
2534 2287
2535+++
2536** In image specifications, `:heuristic-mask' has been replaced 2288** In image specifications, `:heuristic-mask' has been replaced
2537with the more general `:mask' property. 2289with the more general `:mask' property.
2538 2290
2539+++
2540** Image specifications accept more `:conversion's. 2291** Image specifications accept more `:conversion's.
2541 2292
2542---
2543** A `?' can be used in a symbol name without escaping it with a 2293** A `?' can be used in a symbol name without escaping it with a
2544backslash. 2294backslash.
2545 2295
2546+++
2547** Reading from the mini-buffer now reads from standard input if Emacs 2296** Reading from the mini-buffer now reads from standard input if Emacs
2548is running in batch mode. For example, 2297is running in batch mode. For example,
2549 2298
@@ -2552,16 +2301,13 @@ is running in batch mode. For example,
2552will read a Lisp expression from standard input and print the result 2301will read a Lisp expression from standard input and print the result
2553to standard output. 2302to standard output.
2554 2303
2555+++
2556** The argument of `down-list', `backward-up-list', `up-list', 2304** The argument of `down-list', `backward-up-list', `up-list',
2557`kill-sexp', `backward-kill-sexp' and `mark-sexp' is now optional. 2305`kill-sexp', `backward-kill-sexp' and `mark-sexp' is now optional.
2558 2306
2559+++
2560** If `display-buffer-reuse-frames' is set, function `display-buffer' 2307** If `display-buffer-reuse-frames' is set, function `display-buffer'
2561will raise frames displaying a buffer, instead of creating a new 2308will raise frames displaying a buffer, instead of creating a new
2562frame or window. 2309frame or window.
2563 2310
2564+++
2565** Two new functions for removing elements from lists/sequences 2311** Two new functions for removing elements from lists/sequences
2566were added 2312were added
2567 2313
@@ -2575,37 +2321,29 @@ a list, vector, or string. The comparison is done with `equal'.
2575Return a copy of LIST with all occurrences of ELT removed. The 2321Return a copy of LIST with all occurrences of ELT removed. The
2576comparison is done with `eq'. 2322comparison is done with `eq'.
2577 2323
2578+++
2579** The function `delete' now also works with vectors and strings. 2324** The function `delete' now also works with vectors and strings.
2580 2325
2581+++
2582** The meaning of the `:weakness WEAK' argument of make-hash-table 2326** The meaning of the `:weakness WEAK' argument of make-hash-table
2583has been changed: WEAK can now have new values `key-or-value' and 2327has been changed: WEAK can now have new values `key-or-value' and
2584`key-and-value', in addtion the `nil', `key', `value', and `t'. 2328`key-and-value', in addtion the `nil', `key', `value', and `t'.
2585 2329
2586+++
2587** Function `aset' stores any multibyte character in any string 2330** Function `aset' stores any multibyte character in any string
2588without signaling "Attempt to change char length of a string". It may 2331without signaling "Attempt to change char length of a string". It may
2589convert a unibyte string to multibyte if necessary. 2332convert a unibyte string to multibyte if necessary.
2590 2333
2591+++
2592** The value of the `help-echo' text property is called as a function 2334** The value of the `help-echo' text property is called as a function
2593or evaluated, if it is not a string already, to obtain a help string. 2335or evaluated, if it is not a string already, to obtain a help string.
2594 2336
2595---
2596** Function `make-obsolete' now has an optional arg to say when the 2337** Function `make-obsolete' now has an optional arg to say when the
2597function was declared obsolete. 2338function was declared obsolete.
2598 2339
2599+++
2600** Function `plist-member' is renamed from `widget-plist-member' (which is 2340** Function `plist-member' is renamed from `widget-plist-member' (which is
2601retained as an alias). 2341retained as an alias).
2602 2342
2603---
2604** Easy-menu's :filter now works as in XEmacs. 2343** Easy-menu's :filter now works as in XEmacs.
2605It takes the unconverted (i.e. XEmacs) form of the menu and the result 2344It takes the unconverted (i.e. XEmacs) form of the menu and the result
2606is automatically converted to Emacs' form. 2345is automatically converted to Emacs' form.
2607 2346
2608+++
2609** The new function `window-list' has been defined 2347** The new function `window-list' has been defined
2610 2348
2611- Function: window-list &optional FRAME WINDOW MINIBUF 2349- Function: window-list &optional FRAME WINDOW MINIBUF
@@ -2617,7 +2355,6 @@ even if it isn't active. MINIBUF nil or omitted means include the
2617minibuffer window only if it's active. MINIBUF neither nil nor t 2355minibuffer window only if it's active. MINIBUF neither nil nor t
2618means never include the minibuffer window. 2356means never include the minibuffer window.
2619 2357
2620+++
2621** There's a new function `get-window-with-predicate' defined as follows 2358** There's a new function `get-window-with-predicate' defined as follows
2622 2359
2623- Function: get-window-with-predicate PREDICATE &optional MINIBUF ALL-FRAMES DEFAULT 2360- Function: get-window-with-predicate PREDICATE &optional MINIBUF ALL-FRAMES DEFAULT
@@ -2650,61 +2387,48 @@ ALL-FRAMES = t means include windows on all frames including invisible frames.
2650If ALL-FRAMES is a frame, it means include windows on that frame. 2387If ALL-FRAMES is a frame, it means include windows on that frame.
2651Anything else means restrict to the selected frame. 2388Anything else means restrict to the selected frame.
2652 2389
2653+++
2654** The function `single-key-description' now encloses function key and 2390** The function `single-key-description' now encloses function key and
2655event names in angle brackets. When called with a second optional 2391event names in angle brackets. When called with a second optional
2656argument non-nil, angle brackets won't be printed. 2392argument non-nil, angle brackets won't be printed.
2657 2393
2658+++
2659** If the variable `message-truncate-lines' is bound to t around a 2394** If the variable `message-truncate-lines' is bound to t around a
2660call to `message', the echo area will not be resized to display that 2395call to `message', the echo area will not be resized to display that
2661message; it will be truncated instead, as it was done in 20.x. 2396message; it will be truncated instead, as it was done in 20.x.
2662Default value is nil. 2397Default value is nil.
2663 2398
2664+++
2665** The user option `line-number-display-limit' can now be set to nil, 2399** The user option `line-number-display-limit' can now be set to nil,
2666meaning no limit. 2400meaning no limit.
2667 2401
2668+++
2669** The new user option `line-number-display-limit-width' controls 2402** The new user option `line-number-display-limit-width' controls
2670the maximum width of lines in a buffer for which Emacs displays line 2403the maximum width of lines in a buffer for which Emacs displays line
2671numbers in the mode line. The default is 200. 2404numbers in the mode line. The default is 200.
2672 2405
2673+++
2674** `select-safe-coding-system' now also checks the most preferred 2406** `select-safe-coding-system' now also checks the most preferred
2675coding-system if buffer-file-coding-system is `undecided' and 2407coding-system if buffer-file-coding-system is `undecided' and
2676DEFAULT-CODING-SYSTEM is not specified, 2408DEFAULT-CODING-SYSTEM is not specified,
2677 2409
2678+++
2679** The function `subr-arity' provides information about the argument 2410** The function `subr-arity' provides information about the argument
2680list of a primitive. 2411list of a primitive.
2681 2412
2682+++
2683** `where-is-internal' now also accepts a list of keymaps. 2413** `where-is-internal' now also accepts a list of keymaps.
2684 2414
2685+++
2686** The text property `keymap' specifies a key map which overrides the 2415** The text property `keymap' specifies a key map which overrides the
2687buffer's local map and the map specified by the `local-map' property. 2416buffer's local map and the map specified by the `local-map' property.
2688This is probably what most current uses of `local-map' want, rather 2417This is probably what most current uses of `local-map' want, rather
2689than replacing the local map. 2418than replacing the local map.
2690 2419
2691---
2692** The obsolete variables `before-change-function' and 2420** The obsolete variables `before-change-function' and
2693`after-change-function' are no longer acted upon and have been 2421`after-change-function' are no longer acted upon and have been
2694removed. Use `before-change-functions' and `after-change-functions' 2422removed. Use `before-change-functions' and `after-change-functions'
2695instead. 2423instead.
2696 2424
2697+++
2698** The function `apropos-mode' runs the hook `apropos-mode-hook'. 2425** The function `apropos-mode' runs the hook `apropos-mode-hook'.
2699 2426
2700+++
2701** `concat' no longer accepts individual integer arguments, 2427** `concat' no longer accepts individual integer arguments,
2702as promised long ago. 2428as promised long ago.
2703 2429
2704+++
2705** The new function `float-time' returns the current time as a float. 2430** The new function `float-time' returns the current time as a float.
2706 2431
2707+++
2708** The new variable auto-coding-regexp-alist specifies coding systems 2432** The new variable auto-coding-regexp-alist specifies coding systems
2709for reading specific files, analogous to auto-coding-alist, but 2433for reading specific files, analogous to auto-coding-alist, but
2710patterns are checked against file contents instead of file names. 2434patterns are checked against file contents instead of file names.
@@ -2717,27 +2441,22 @@ Note that +++ before an item means the Lisp manual has been updated.
2717When you add a new item, please add it without either +++ or --- 2441When you add a new item, please add it without either +++ or ---
2718so I will know I still need to look at it -- rms. 2442so I will know I still need to look at it -- rms.
2719 2443
2720---
2721*** The features `md5' and `overlay' are now provided by default. 2444*** The features `md5' and `overlay' are now provided by default.
2722 2445
2723---
2724*** The special form `save-restriction' now works correctly even if the 2446*** The special form `save-restriction' now works correctly even if the
2725buffer is widened inside the save-restriction and changes made outside 2447buffer is widened inside the save-restriction and changes made outside
2726the original restriction. Previously, doing this would cause the saved 2448the original restriction. Previously, doing this would cause the saved
2727restriction to be restored incorrectly. 2449restriction to be restored incorrectly.
2728 2450
2729---
2730*** The functions `find-charset-region' and `find-charset-string' include 2451*** The functions `find-charset-region' and `find-charset-string' include
2731`eight-bit-control' and/or `eight-bit-graphic' in the returned list 2452`eight-bit-control' and/or `eight-bit-graphic' in the returned list
2732when they find 8-bit characters. Previously, they included `ascii' in a 2453when they find 8-bit characters. Previously, they included `ascii' in a
2733multibyte buffer and `unknown' in a unibyte buffer. 2454multibyte buffer and `unknown' in a unibyte buffer.
2734 2455
2735---
2736*** The functions `set-buffer-modified', `string-as-multibyte' and 2456*** The functions `set-buffer-modified', `string-as-multibyte' and
2737`string-as-unibyte' change the byte sequence of a buffer or a string 2457`string-as-unibyte' change the byte sequence of a buffer or a string
2738if it contains a character from the `eight-bit-control' character set. 2458if it contains a character from the `eight-bit-control' character set.
2739 2459
2740---
2741*** The handling of multibyte sequences in a multibyte buffer is 2460*** The handling of multibyte sequences in a multibyte buffer is
2742changed. Previously, a byte sequence matching the pattern 2461changed. Previously, a byte sequence matching the pattern
2743[\200-\237][\240-\377]+ was interpreted as a single character 2462[\200-\237][\240-\377]+ was interpreted as a single character
@@ -2747,7 +2466,6 @@ extra trailing bytes were ignored by Lisp functions. Now such extra
2747bytes are independent 8-bit characters belonging to the charset 2466bytes are independent 8-bit characters belonging to the charset
2748eight-bit-graphic. 2467eight-bit-graphic.
2749 2468
2750---
2751** Fontsets are now implemented using char-tables. 2469** Fontsets are now implemented using char-tables.
2752 2470
2753A fontset can now be specified for each independent character, for 2471A fontset can now be specified for each independent character, for
@@ -2809,11 +2527,9 @@ a composition at a specified position in a buffer or a string.
2809*** The function `decompose-composite-char' is now labeled as 2527*** The function `decompose-composite-char' is now labeled as
2810obsolete. 2528obsolete.
2811 2529
2812---
2813** The new coding system `mac-roman' is primarily intended for use on 2530** The new coding system `mac-roman' is primarily intended for use on
2814the Macintosh but may be used generally for Macintosh-encoded text. 2531the Macintosh but may be used generally for Macintosh-encoded text.
2815 2532
2816---
2817** The new character sets `mule-unicode-0100-24ff', 2533** The new character sets `mule-unicode-0100-24ff',
2818`mule-unicode-2500-33ff', and `mule-unicode-e000-ffff' have been 2534`mule-unicode-2500-33ff', and `mule-unicode-e000-ffff' have been
2819introduced for Unicode characters in the range U+0100..U+24FF, 2535introduced for Unicode characters in the range U+0100..U+24FF,
@@ -2826,21 +2542,17 @@ different characters, as far as Emacs is concerned. For example, text
2826which includes Unicode characters from the Latin-2 locale cannot be 2542which includes Unicode characters from the Latin-2 locale cannot be
2827encoded by Emacs with ISO 8859-2 coding system. 2543encoded by Emacs with ISO 8859-2 coding system.
2828 2544
2829---
2830** The new coding system `mule-utf-8' has been added. 2545** The new coding system `mule-utf-8' has been added.
2831It provides limited support for decoding/encoding UTF-8 text. For 2546It provides limited support for decoding/encoding UTF-8 text. For
2832details, please see the documentation string of this coding system. 2547details, please see the documentation string of this coding system.
2833 2548
2834---
2835** The new character sets `japanese-jisx0213-1' and 2549** The new character sets `japanese-jisx0213-1' and
2836`japanese-jisx0213-2' have been introduced for the new Japanese 2550`japanese-jisx0213-2' have been introduced for the new Japanese
2837standard JIS X 0213 Plane 1 and Plane 2. 2551standard JIS X 0213 Plane 1 and Plane 2.
2838 2552
2839+++
2840** The new character sets `latin-iso8859-14' and `latin-iso8859-15' 2553** The new character sets `latin-iso8859-14' and `latin-iso8859-15'
2841have been introduced. 2554have been introduced.
2842 2555
2843+++
2844** The new character sets `eight-bit-control' and `eight-bit-graphic' 2556** The new character sets `eight-bit-control' and `eight-bit-graphic'
2845have been introduced for 8-bit characters in the ranges 0x80..0x9F and 2557have been introduced for 8-bit characters in the ranges 0x80..0x9F and
28460xA0..0xFF respectively. Note that the multibyte representation of 25580xA0..0xFF respectively. Note that the multibyte representation of
@@ -2851,27 +2563,22 @@ eight-bit-graphic characters in a multibyte buffer, the search string
2851must be multibyte, otherwise such characters will be converted to 2563must be multibyte, otherwise such characters will be converted to
2852their multibyte equivalent. 2564their multibyte equivalent.
2853 2565
2854+++
2855** If the APPEND argument of `write-region' is an integer, it seeks to 2566** If the APPEND argument of `write-region' is an integer, it seeks to
2856that offset in the file before writing. 2567that offset in the file before writing.
2857 2568
2858---
2859** The function `add-minor-mode' has been added for convenience and 2569** The function `add-minor-mode' has been added for convenience and
2860compatibility with XEmacs (and is used internally by define-minor-mode). 2570compatibility with XEmacs (and is used internally by define-minor-mode).
2861 2571
2862---
2863** The function `shell-command' now sets the default directory of the 2572** The function `shell-command' now sets the default directory of the
2864`*Shell Command Output*' buffer to the default directory of the buffer 2573`*Shell Command Output*' buffer to the default directory of the buffer
2865from which the command was issued. 2574from which the command was issued.
2866 2575
2867---
2868** The functions `query-replace', `query-replace-regexp', 2576** The functions `query-replace', `query-replace-regexp',
2869`query-replace-regexp-eval' `map-query-replace-regexp', 2577`query-replace-regexp-eval' `map-query-replace-regexp',
2870`replace-string', `replace-regexp', and `perform-replace' take two 2578`replace-string', `replace-regexp', and `perform-replace' take two
2871additional optional arguments START and END that specify the region to 2579additional optional arguments START and END that specify the region to
2872operate on. 2580operate on.
2873 2581
2874---
2875** The new function `count-screen-lines' is a more flexible alternative 2582** The new function `count-screen-lines' is a more flexible alternative
2876to `window-buffer-height'. 2583to `window-buffer-height'.
2877 2584
@@ -2896,26 +2603,21 @@ buffer, regardless of which buffer is displayed in WINDOW. This makes
2896possible to use `count-screen-lines' in any buffer, whether or not it 2603possible to use `count-screen-lines' in any buffer, whether or not it
2897is currently displayed in some window. 2604is currently displayed in some window.
2898 2605
2899+++
2900** The new function `mapc' is like `mapcar' but doesn't collect the 2606** The new function `mapc' is like `mapcar' but doesn't collect the
2901argument function's results. 2607argument function's results.
2902 2608
2903+++
2904** The functions base64-decode-region and base64-decode-string now 2609** The functions base64-decode-region and base64-decode-string now
2905signal an error instead of returning nil if decoding fails. Also, 2610signal an error instead of returning nil if decoding fails. Also,
2906`base64-decode-string' now always returns a unibyte string (in Emacs 2611`base64-decode-string' now always returns a unibyte string (in Emacs
290720, it returned a multibyte string when the result was a valid multibyte 261220, it returned a multibyte string when the result was a valid multibyte
2908sequence). 2613sequence).
2909 2614
2910---
2911** The function sendmail-user-agent-compose now recognizes a `body' 2615** The function sendmail-user-agent-compose now recognizes a `body'
2912header in the list of headers passed to it. 2616header in the list of headers passed to it.
2913 2617
2914+++
2915** The new function member-ignore-case works like `member', but 2618** The new function member-ignore-case works like `member', but
2916ignores differences in case and text representation. 2619ignores differences in case and text representation.
2917 2620
2918+++
2919** The buffer-local variable cursor-type can be used to specify the 2621** The buffer-local variable cursor-type can be used to specify the
2920cursor to use in windows displaying a buffer. Values are interpreted 2622cursor to use in windows displaying a buffer. Values are interpreted
2921as follows: 2623as follows:
@@ -2926,13 +2628,11 @@ as follows:
2926 (bar . WIDTH) display a bar cursor with width WIDTH 2628 (bar . WIDTH) display a bar cursor with width WIDTH
2927 others display a box cursor. 2629 others display a box cursor.
2928 2630
2929+++
2930** The variable open-paren-in-column-0-is-defun-start controls whether 2631** The variable open-paren-in-column-0-is-defun-start controls whether
2931an open parenthesis in column 0 is considered to be the start of a 2632an open parenthesis in column 0 is considered to be the start of a
2932defun. If set, the default, it is considered a defun start. If not 2633defun. If set, the default, it is considered a defun start. If not
2933set, an open parenthesis in column 0 has no special meaning. 2634set, an open parenthesis in column 0 has no special meaning.
2934 2635
2935+++
2936** The new function `string-to-syntax' can be used to translate syntax 2636** The new function `string-to-syntax' can be used to translate syntax
2937specifications in string form as accepted by `modify-syntax-entry' to 2637specifications in string form as accepted by `modify-syntax-entry' to
2938the cons-cell form that is used for the values of the `syntax-table' 2638the cons-cell form that is used for the values of the `syntax-table'
@@ -2943,7 +2643,6 @@ Example:
2943 (string-to-syntax "()") 2643 (string-to-syntax "()")
2944 => (4 . 41) 2644 => (4 . 41)
2945 2645
2946+++
2947** Emacs' reader supports CL read syntax for integers in bases 2646** Emacs' reader supports CL read syntax for integers in bases
2948other than 10. 2647other than 10.
2949 2648
@@ -2972,55 +2671,44 @@ INTEGER optionally contains a sign.
2972 #25rah 2671 #25rah
2973 => 267 2672 => 267
2974 2673
2975+++
2976** The function `documentation-property' now evaluates the value of 2674** The function `documentation-property' now evaluates the value of
2977the given property to obtain a string if it doesn't refer to etc/DOC 2675the given property to obtain a string if it doesn't refer to etc/DOC
2978and isn't a string. 2676and isn't a string.
2979 2677
2980+++
2981** If called for a symbol, the function `documentation' now looks for 2678** If called for a symbol, the function `documentation' now looks for
2982a `function-documentation' property of that symbol. If it has a non-nil 2679a `function-documentation' property of that symbol. If it has a non-nil
2983value, the documentation is taken from that value. If the value is 2680value, the documentation is taken from that value. If the value is
2984not a string, it is evaluated to obtain a string. 2681not a string, it is evaluated to obtain a string.
2985 2682
2986+++
2987** The last argument of `define-key-after' defaults to t for convenience. 2683** The last argument of `define-key-after' defaults to t for convenience.
2988 2684
2989** The new function `replace-regexp-in-string' replaces all matches 2685** The new function `replace-regexp-in-string' replaces all matches
2990for a regexp in a string. 2686for a regexp in a string.
2991 2687
2992+++
2993** `mouse-position' now runs the abnormal hook 2688** `mouse-position' now runs the abnormal hook
2994`mouse-position-function'. 2689`mouse-position-function'.
2995 2690
2996+++
2997** The function string-to-number now returns a float for numbers 2691** The function string-to-number now returns a float for numbers
2998that don't fit into a Lisp integer. 2692that don't fit into a Lisp integer.
2999 2693
3000+++
3001** The variable keyword-symbols-constants-flag has been removed. 2694** The variable keyword-symbols-constants-flag has been removed.
3002Keywords are now always considered constants. 2695Keywords are now always considered constants.
3003 2696
3004+++
3005** The new function `delete-and-extract-region' deletes text and 2697** The new function `delete-and-extract-region' deletes text and
3006returns it. 2698returns it.
3007 2699
3008+++
3009** The function `clear-this-command-keys' now also clears the vector 2700** The function `clear-this-command-keys' now also clears the vector
3010returned by function `recent-keys'. 2701returned by function `recent-keys'.
3011 2702
3012+++
3013** Variables `beginning-of-defun-function' and `end-of-defun-function' 2703** Variables `beginning-of-defun-function' and `end-of-defun-function'
3014can be used to define handlers for the functions that find defuns. 2704can be used to define handlers for the functions that find defuns.
3015Major modes can define these locally instead of rebinding M-C-a 2705Major modes can define these locally instead of rebinding M-C-a
3016etc. if the normal conventions for defuns are not appropriate for the 2706etc. if the normal conventions for defuns are not appropriate for the
3017mode. 2707mode.
3018 2708
3019+++
3020** easy-mmode-define-minor-mode now takes an additional BODY argument 2709** easy-mmode-define-minor-mode now takes an additional BODY argument
3021and is renamed `define-minor-mode'. 2710and is renamed `define-minor-mode'.
3022 2711
3023+++
3024** If an abbrev has a hook function which is a symbol, and that symbol 2712** If an abbrev has a hook function which is a symbol, and that symbol
3025has a non-nil `no-self-insert' property, the return value of the hook 2713has a non-nil `no-self-insert' property, the return value of the hook
3026function specifies whether an expansion has been done or not. If it 2714function specifies whether an expansion has been done or not. If it
@@ -3032,12 +2720,10 @@ and the abbrev has a hook with the `no-self-insert' property, and the
3032hook function returns non-nil meaning expansion has been done, 2720hook function returns non-nil meaning expansion has been done,
3033then the self-inserting character is not inserted. 2721then the self-inserting character is not inserted.
3034 2722
3035+++
3036** The function `intern-soft' now accepts a symbol as first argument. 2723** The function `intern-soft' now accepts a symbol as first argument.
3037In this case, that exact symbol is looked up in the specified obarray, 2724In this case, that exact symbol is looked up in the specified obarray,
3038and the function's value is nil if it is not found. 2725and the function's value is nil if it is not found.
3039 2726
3040+++
3041** The new macro `with-syntax-table' can be used to evaluate forms 2727** The new macro `with-syntax-table' can be used to evaluate forms
3042with the syntax table of the current buffer temporarily set to a 2728with the syntax table of the current buffer temporarily set to a
3043specified table. 2729specified table.
@@ -3049,28 +2735,23 @@ TABLE. The current syntax table is saved, BODY is evaluated, and the
3049saved table is restored, even in case of an abnormal exit. Value is 2735saved table is restored, even in case of an abnormal exit. Value is
3050what BODY returns. 2736what BODY returns.
3051 2737
3052+++
3053** Regular expressions now support intervals \{n,m\} as well as 2738** Regular expressions now support intervals \{n,m\} as well as
3054Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators. 2739Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators.
3055Also back-references like \2 are now considered as an error if the 2740Also back-references like \2 are now considered as an error if the
3056corresponding subgroup does not exist (or is not closed yet). 2741corresponding subgroup does not exist (or is not closed yet).
3057Previously it would have been silently turned into `2' (ignoring the `\'). 2742Previously it would have been silently turned into `2' (ignoring the `\').
3058 2743
3059+++
3060** The optional argument BUFFER of function file-local-copy has been 2744** The optional argument BUFFER of function file-local-copy has been
3061removed since it wasn't used by anything. 2745removed since it wasn't used by anything.
3062 2746
3063+++
3064** The file name argument of function `file-locked-p' is now required 2747** The file name argument of function `file-locked-p' is now required
3065instead of being optional. 2748instead of being optional.
3066 2749
3067+++
3068** The new built-in error `text-read-only' is signaled when trying to 2750** The new built-in error `text-read-only' is signaled when trying to
3069modify read-only text. 2751modify read-only text.
3070 2752
3071** New functions and variables for locales. 2753** New functions and variables for locales.
3072 2754
3073+++
3074The new variable `locale-coding-system' specifies how to encode and 2755The new variable `locale-coding-system' specifies how to encode and
3075decode strings passed to low-level message functions like strerror and 2756decode strings passed to low-level message functions like strerror and
3076time functions like strftime. The new variables 2757time functions like strftime. The new variables
@@ -3085,17 +2766,14 @@ not be invoked thereafter. It uses the new variables
3085`locale-language-names', `locale-charset-language-names', and 2766`locale-language-names', `locale-charset-language-names', and
3086`locale-preferred-coding-systems' to make its decisions. 2767`locale-preferred-coding-systems' to make its decisions.
3087 2768
3088+++
3089** syntax tables now understand nested comments. 2769** syntax tables now understand nested comments.
3090To declare a comment syntax as allowing nesting, just add an `n' 2770To declare a comment syntax as allowing nesting, just add an `n'
3091modifier to either of the characters of the comment end and the comment 2771modifier to either of the characters of the comment end and the comment
3092start sequences. 2772start sequences.
3093 2773
3094+++
3095** The function `pixmap-spec-p' has been renamed `bitmap-spec-p' 2774** The function `pixmap-spec-p' has been renamed `bitmap-spec-p'
3096because `bitmap' is more in line with the usual X terminology. 2775because `bitmap' is more in line with the usual X terminology.
3097 2776
3098+++
3099** New function `propertize' 2777** New function `propertize'
3100 2778
3101The new function `propertize' can be used to conveniently construct 2779The new function `propertize' can be used to conveniently construct
@@ -3110,7 +2788,6 @@ specified value of that property. Example:
3110 2788
3111 (propertize "foo" 'face 'bold 'read-only t) 2789 (propertize "foo" 'face 'bold 'read-only t)
3112 2790
3113+++
3114** push and pop macros. 2791** push and pop macros.
3115 2792
3116Simple versions of the push and pop macros of Common Lisp 2793Simple versions of the push and pop macros of Common Lisp
@@ -3121,7 +2798,6 @@ as the place that holds the list to be changed.
3121(pop LISTNAME) return first elt of LISTNAME, and remove it 2798(pop LISTNAME) return first elt of LISTNAME, and remove it
3122 (thus altering the value of LISTNAME). 2799 (thus altering the value of LISTNAME).
3123 2800
3124---
3125** New dolist and dotimes macros. 2801** New dolist and dotimes macros.
3126 2802
3127Simple versions of the dolist and dotimes macros of Common Lisp 2803Simple versions of the dolist and dotimes macros of Common Lisp
@@ -3137,7 +2813,6 @@ are now defined in Emacs Lisp.
3137 inclusive, to COUNT, exclusive. 2813 inclusive, to COUNT, exclusive.
3138 Then return the value of RESULT, or nil if RESULT is omitted. 2814 Then return the value of RESULT, or nil if RESULT is omitted.
3139 2815
3140+++
3141** Regular expressions now support Posix character classes such as 2816** Regular expressions now support Posix character classes such as
3142[:alpha:], [:space:] and so on. These must be used within a character 2817[:alpha:], [:space:] and so on. These must be used within a character
3143class--for instance, [-[:digit:].+] matches digits or a period 2818class--for instance, [-[:digit:].+] matches digits or a period
@@ -3167,7 +2842,6 @@ or a sign.
3167[:upper:] matches anything upper-case. 2842[:upper:] matches anything upper-case.
3168[:word:] matches anything that has word syntax. 2843[:word:] matches anything that has word syntax.
3169 2844
3170+++
3171** Emacs now has built-in hash tables. 2845** Emacs now has built-in hash tables.
3172 2846
3173The following functions are defined for hash tables: 2847The following functions are defined for hash tables:
@@ -3302,26 +2976,22 @@ be strings that are compared case-insensitively.
3302 2976
3303 (make-hash-table :test 'case-fold) 2977 (make-hash-table :test 'case-fold)
3304 2978
3305+++
3306** The Lisp reader handles circular structure. 2979** The Lisp reader handles circular structure.
3307 2980
3308It now works to use the #N= and #N# constructs to represent 2981It now works to use the #N= and #N# constructs to represent
3309circular structures. For example, #1=(a . #1#) represents 2982circular structures. For example, #1=(a . #1#) represents
3310a cons cell which is its own cdr. 2983a cons cell which is its own cdr.
3311 2984
3312+++
3313** The Lisp printer handles circular structure. 2985** The Lisp printer handles circular structure.
3314 2986
3315If you bind print-circle to a non-nil value, the Lisp printer outputs 2987If you bind print-circle to a non-nil value, the Lisp printer outputs
3316#N= and #N# constructs to represent circular and shared structure. 2988#N= and #N# constructs to represent circular and shared structure.
3317 2989
3318+++
3319** If the second argument to `move-to-column' is anything but nil or 2990** If the second argument to `move-to-column' is anything but nil or
3320t, that means replace a tab with spaces if necessary to reach the 2991t, that means replace a tab with spaces if necessary to reach the
3321specified column, but do not add spaces at the end of the line if it 2992specified column, but do not add spaces at the end of the line if it
3322is too short to reach that column. 2993is too short to reach that column.
3323 2994
3324+++
3325** perform-replace has a new feature: the REPLACEMENTS argument may 2995** perform-replace has a new feature: the REPLACEMENTS argument may
3326now be a cons cell (FUNCTION . DATA). This means to call FUNCTION 2996now be a cons cell (FUNCTION . DATA). This means to call FUNCTION
3327after each match to get the replacement text. FUNCTION is called with 2997after each match to get the replacement text. FUNCTION is called with
@@ -3331,39 +3001,32 @@ If the FROM-STRING contains any upper-case letters,
3331perform-replace also turns off `case-fold-search' temporarily 3001perform-replace also turns off `case-fold-search' temporarily
3332and inserts the replacement text without altering case in it. 3002and inserts the replacement text without altering case in it.
3333 3003
3334+++
3335** The function buffer-size now accepts an optional argument 3004** The function buffer-size now accepts an optional argument
3336to specify which buffer to return the size of. 3005to specify which buffer to return the size of.
3337 3006
3338+++
3339** The calendar motion commands now run the normal hook 3007** The calendar motion commands now run the normal hook
3340calendar-move-hook after moving point. 3008calendar-move-hook after moving point.
3341 3009
3342+++
3343** The new variable small-temporary-file-directory specifies a 3010** The new variable small-temporary-file-directory specifies a
3344directory to use for creating temporary files that are likely to be 3011directory to use for creating temporary files that are likely to be
3345small. (Certain Emacs features use this directory.) If 3012small. (Certain Emacs features use this directory.) If
3346small-temporary-file-directory is nil, they use 3013small-temporary-file-directory is nil, they use
3347temporary-file-directory instead. 3014temporary-file-directory instead.
3348 3015
3349+++
3350** The variable `inhibit-modification-hooks', if non-nil, inhibits all 3016** The variable `inhibit-modification-hooks', if non-nil, inhibits all
3351the hooks that track changes in the buffer. This affects 3017the hooks that track changes in the buffer. This affects
3352`before-change-functions' and `after-change-functions', as well as 3018`before-change-functions' and `after-change-functions', as well as
3353hooks attached to text properties and overlay properties. 3019hooks attached to text properties and overlay properties.
3354 3020
3355+++
3356** assq-delete-all is a new function that deletes all the 3021** assq-delete-all is a new function that deletes all the
3357elements of an alist which have a car `eq' to a particular value. 3022elements of an alist which have a car `eq' to a particular value.
3358 3023
3359+++
3360** make-temp-file provides a more reliable way to create a temporary file. 3024** make-temp-file provides a more reliable way to create a temporary file.
3361 3025
3362make-temp-file is used like make-temp-name, except that it actually 3026make-temp-file is used like make-temp-name, except that it actually
3363creates the file before it returns. This prevents a timing error, 3027creates the file before it returns. This prevents a timing error,
3364ensuring that no other job can use the same name for a temporary file. 3028ensuring that no other job can use the same name for a temporary file.
3365 3029
3366+++
3367** New exclusive-open feature in `write-region' 3030** New exclusive-open feature in `write-region'
3368 3031
3369The optional seventh arg is now called MUSTBENEW. If non-nil, it insists 3032The optional seventh arg is now called MUSTBENEW. If non-nil, it insists
@@ -3378,7 +3041,6 @@ that means to use a special feature in the `open' system call
3378to get an error if the file exists at that time. 3041to get an error if the file exists at that time.
3379The error reported is `file-already-exists'. 3042The error reported is `file-already-exists'.
3380 3043
3381+++
3382** Function `format' now handles text properties. 3044** Function `format' now handles text properties.
3383 3045
3384Text properties of the format string are applied to the result string. 3046Text properties of the format string are applied to the result string.
@@ -3399,7 +3061,6 @@ Example:
3399 3061
3400results in a bold-face string with an italic `world' at the end. 3062results in a bold-face string with an italic `world' at the end.
3401 3063
3402+++
3403** Messages can now be displayed with text properties. 3064** Messages can now be displayed with text properties.
3404 3065
3405Text properties are handled as described above for function `format'. 3066Text properties are handled as described above for function `format'.
@@ -3412,7 +3073,6 @@ argument in it.
3412 (put-text-property 0 (length arg) 'face 'italic arg) 3073 (put-text-property 0 (length arg) 'face 'italic arg)
3413 (message msg arg)) 3074 (message msg arg))
3414 3075
3415+++
3416** Sound support 3076** Sound support
3417 3077
3418Emacs supports playing sound files on GNU/Linux and the free BSDs 3078Emacs supports playing sound files on GNU/Linux and the free BSDs
@@ -3455,14 +3115,11 @@ Other properties are ignored.
3455An alternative interface is called as 3115An alternative interface is called as
3456(play-sound-file FILE &optional VOLUME DEVICE). 3116(play-sound-file FILE &optional VOLUME DEVICE).
3457 3117
3458---
3459** `multimedia' is a new Finder keyword and Custom group. 3118** `multimedia' is a new Finder keyword and Custom group.
3460 3119
3461+++
3462** keywordp is a new predicate to test efficiently for an object being 3120** keywordp is a new predicate to test efficiently for an object being
3463a keyword symbol. 3121a keyword symbol.
3464 3122
3465+++
3466** Changes to garbage collection 3123** Changes to garbage collection
3467 3124
3468*** The function garbage-collect now additionally returns the number 3125*** The function garbage-collect now additionally returns the number
@@ -3475,22 +3132,17 @@ strings that have been consed so far.
3475* Lisp-level Display features added after release 2.6 of the Emacs 3132* Lisp-level Display features added after release 2.6 of the Emacs
3476Lisp Manual 3133Lisp Manual
3477 3134
3478+++
3479** The user-option `resize-mini-windows' controls how Emacs resizes 3135** The user-option `resize-mini-windows' controls how Emacs resizes
3480mini-windows. 3136mini-windows.
3481 3137
3482+++
3483** The function `pos-visible-in-window-p' now has a third optional 3138** The function `pos-visible-in-window-p' now has a third optional
3484argument, PARTIALLY. If a character is only partially visible, nil is 3139argument, PARTIALLY. If a character is only partially visible, nil is
3485returned, unless PARTIALLY is non-nil. 3140returned, unless PARTIALLY is non-nil.
3486 3141
3487+++
3488** On window systems, `glyph-table' is no longer used. 3142** On window systems, `glyph-table' is no longer used.
3489 3143
3490+++
3491** Help strings in menu items are now used to provide `help-echo' text. 3144** Help strings in menu items are now used to provide `help-echo' text.
3492 3145
3493+++
3494** The function `image-size' can be used to determine the size of an 3146** The function `image-size' can be used to determine the size of an
3495image. 3147image.
3496 3148
@@ -3504,7 +3156,6 @@ character units (fractions of the width/height of the frame's default
3504font). FRAME is the frame on which the image will be displayed. 3156font). FRAME is the frame on which the image will be displayed.
3505FRAME nil or omitted means use the selected frame. 3157FRAME nil or omitted means use the selected frame.
3506 3158
3507+++
3508** The function `image-mask-p' can be used to determine if an image 3159** The function `image-mask-p' can be used to determine if an image
3509has a mask bitmap. 3160has a mask bitmap.
3510 3161
@@ -3514,15 +3165,12 @@ Return t if image SPEC has a mask bitmap.
3514FRAME is the frame on which the image will be displayed. FRAME nil 3165FRAME is the frame on which the image will be displayed. FRAME nil
3515or omitted means use the selected frame. 3166or omitted means use the selected frame.
3516 3167
3517+++
3518** The function `find-image' can be used to find a usable image 3168** The function `find-image' can be used to find a usable image
3519satisfying one of a list of specifications. 3169satisfying one of a list of specifications.
3520 3170
3521+++
3522** The STRING argument of `put-image' and `insert-image' is now 3171** The STRING argument of `put-image' and `insert-image' is now
3523optional. 3172optional.
3524 3173
3525+++
3526** Image specifications may contain the property `:ascent center' (see 3174** Image specifications may contain the property `:ascent center' (see
3527below). 3175below).
3528 3176
@@ -3534,7 +3182,6 @@ Note that +++ before an item means the Lisp manual has been updated.
3534When you add a new item, please add it without either +++ or --- 3182When you add a new item, please add it without either +++ or ---
3535so I will know I still need to look at it -- rms. 3183so I will know I still need to look at it -- rms.
3536 3184
3537---
3538** The function tty-suppress-bold-inverse-default-colors can be used 3185** The function tty-suppress-bold-inverse-default-colors can be used
3539to make Emacs avoid displaying text with bold black foreground on TTYs. 3186to make Emacs avoid displaying text with bold black foreground on TTYs.
3540 3187
@@ -3557,7 +3204,6 @@ in your `.emacs'.
3557Emacs faces have been reimplemented from scratch. They don't use XLFD 3204Emacs faces have been reimplemented from scratch. They don't use XLFD
3558font names anymore and face merging now works as expected. 3205font names anymore and face merging now works as expected.
3559 3206
3560+++
3561*** New faces. 3207*** New faces.
3562 3208
3563Each face can specify the following display attributes: 3209Each face can specify the following display attributes:
@@ -3606,7 +3252,6 @@ A face doesn't have to specify all attributes. Those not specified
3606have a nil value. Faces specifying all attributes are called 3252have a nil value. Faces specifying all attributes are called
3607`fully-specified'. 3253`fully-specified'.
3608 3254
3609+++
3610*** Face merging. 3255*** Face merging.
3611 3256
3612The display style of a given character in the text is determined by 3257The display style of a given character in the text is determined by
@@ -3616,7 +3261,6 @@ properties is taken from the `default' face. Since it is made sure
3616that the default face is always fully-specified, face merging always 3261that the default face is always fully-specified, face merging always
3617results in a fully-specified face. 3262results in a fully-specified face.
3618 3263
3619+++
3620*** Face realization. 3264*** Face realization.
3621 3265
3622After all face attributes for a character have been determined by 3266After all face attributes for a character have been determined by
@@ -3649,14 +3293,12 @@ Currently all unibyte text, i.e. all buffers with
3649registry and encoding `face-default-registry'. This is consistent 3293registry and encoding `face-default-registry'. This is consistent
3650with the fact that languages can also be set globally, only. 3294with the fact that languages can also be set globally, only.
3651 3295
3652+++
3653**** Clearing face caches. 3296**** Clearing face caches.
3654 3297
3655The Lisp function `clear-face-cache' can be called to clear face caches 3298The Lisp function `clear-face-cache' can be called to clear face caches
3656on all frames. If called with a non-nil argument, it will also unload 3299on all frames. If called with a non-nil argument, it will also unload
3657unused fonts. 3300unused fonts.
3658 3301
3659+++
3660*** Font selection. 3302*** Font selection.
3661 3303
3662Font selection tries to find the best available matching font for a 3304Font selection tries to find the best available matching font for a
@@ -3697,7 +3339,6 @@ slightly different.
3697Setting face-ignored-fonts allows the user to ignore specific fonts. 3339Setting face-ignored-fonts allows the user to ignore specific fonts.
3698 3340
3699 3341
3700+++
3701**** Scalable fonts 3342**** Scalable fonts
3702 3343
3703Emacs can make use of scalable fonts but doesn't do so by default, 3344Emacs can make use of scalable fonts but doesn't do so by default,
@@ -3715,7 +3356,6 @@ that list. Example:
3715 3356
3716allows the use of scalable fonts with registry `muleindian-2'. 3357allows the use of scalable fonts with registry `muleindian-2'.
3717 3358
3718+++
3719*** Functions and variables related to font selection. 3359*** Functions and variables related to font selection.
3720 3360
3721- Function: x-family-fonts &optional FAMILY FRAME 3361- Function: x-family-fonts &optional FAMILY FRAME
@@ -3748,7 +3388,6 @@ Limit for font matching. If an integer > 0, font matching functions
3748won't load more than that number of fonts when searching for a 3388won't load more than that number of fonts when searching for a
3749matching font. The default is currently 100. 3389matching font. The default is currently 100.
3750 3390
3751+++
3752*** Setting face attributes. 3391*** Setting face attributes.
3753 3392
3754For the most part, the new face implementation is interface-compatible 3393For the most part, the new face implementation is interface-compatible
@@ -3875,7 +3514,6 @@ VALUE is the name of a face from which to inherit attributes, or a list
3875of face names. Attributes from inherited faces are merged into the face 3514of face names. Attributes from inherited faces are merged into the face
3876like an underlying face would be, with higher priority than underlying faces. 3515like an underlying face would be, with higher priority than underlying faces.
3877 3516
3878+++
3879*** Face attributes and X resources 3517*** Face attributes and X resources
3880 3518
3881The following X resource names can be used to set face attributes 3519The following X resource names can be used to set face attributes
@@ -3903,7 +3541,6 @@ from X resources:
3903 :italic attributeItalic . Face.AttributeItalic 3541 :italic attributeItalic . Face.AttributeItalic
3904 :font attributeFont Face.AttributeFont 3542 :font attributeFont Face.AttributeFont
3905 3543
3906+++
3907*** Text property `face'. 3544*** Text property `face'.
3908 3545
3909The value of the `face' text property can now be a single face 3546The value of the `face' text property can now be a single face
@@ -3921,7 +3558,6 @@ specification can be
3921 (BACKGROUND-COLOR . COLOR) where COLOR is a color name. This is 3558 (BACKGROUND-COLOR . COLOR) where COLOR is a color name. This is
3922 for compatibility with previous Emacs versions. 3559 for compatibility with previous Emacs versions.
3923 3560
3924+++
3925** Support functions for colors on text-only terminals. 3561** Support functions for colors on text-only terminals.
3926 3562
3927The function `tty-color-define' can be used to define colors for use 3563The function `tty-color-define' can be used to define colors for use
@@ -3947,7 +3583,6 @@ modify their color-related behavior.
3947The primitives `color-gray-p' and `color-supported-p' also work for 3583The primitives `color-gray-p' and `color-supported-p' also work for
3948any frame type. 3584any frame type.
3949 3585
3950+++
3951** Platform-independent functions to describe display capabilities. 3586** Platform-independent functions to describe display capabilities.
3952 3587
3953The new functions `display-mouse-p', `display-popup-menus-p', 3588The new functions `display-mouse-p', `display-popup-menus-p',
@@ -3963,7 +3598,6 @@ platform-specific functions such as `x-display-pixel-width'.
3963The new function `display-images-p' returns non-nil if a particular 3598The new function `display-images-p' returns non-nil if a particular
3964display can display image files. 3599display can display image files.
3965 3600
3966+++
3967** The minibuffer prompt is now actually inserted in the minibuffer. 3601** The minibuffer prompt is now actually inserted in the minibuffer.
3968 3602
3969This makes it possible to scroll through the prompt, if you want to. 3603This makes it possible to scroll through the prompt, if you want to.
@@ -3975,7 +3609,6 @@ The function minibuffer-prompt-end returns the current position of the
3975end of the minibuffer prompt, if the minibuffer is current. 3609end of the minibuffer prompt, if the minibuffer is current.
3976Otherwise, it returns zero. 3610Otherwise, it returns zero.
3977 3611
3978+++
3979** New `field' abstraction in buffers. 3612** New `field' abstraction in buffers.
3980 3613
3981There is now code to support an abstraction called `fields' in emacs 3614There is now code to support an abstraction called `fields' in emacs
@@ -4060,7 +3693,6 @@ Return the contents of the field around POS, without text-properties.
4060A field is a region of text with the same `field' property. 3693A field is a region of text with the same `field' property.
4061If POS is nil, the value of point is used for POS. 3694If POS is nil, the value of point is used for POS.
4062 3695
4063+++
4064** Image support. 3696** Image support.
4065 3697
4066Emacs can now display images. Images are inserted into text by giving 3698Emacs can now display images. Images are inserted into text by giving
@@ -4356,7 +3988,6 @@ define an image based on available image types. The functions
4356`put-image' and `insert-image' can be used to insert an image into a 3988`put-image' and `insert-image' can be used to insert an image into a
4357buffer. 3989buffer.
4358 3990
4359+++
4360** Display margins. 3991** Display margins.
4361 3992
4362Windows can now have margins which are used for special text 3993Windows can now have margins which are used for special text
@@ -4376,7 +4007,6 @@ one of `left-margin' or `right-margin' or nil. VALUE can be either a
4376string, an image specification or a stretch specification (see later 4007string, an image specification or a stretch specification (see later
4377in this file). 4008in this file).
4378 4009
4379+++
4380** Help display 4010** Help display
4381 4011
4382Emacs displays short help messages in the echo area, when the mouse 4012Emacs displays short help messages in the echo area, when the mouse
@@ -4411,7 +4041,6 @@ The hook `show-help-function' can be set to a function that displays
4411the help string differently. For example, enabling a tooltip window 4041the help string differently. For example, enabling a tooltip window
4412causes the help display to appear there instead of in the echo area. 4042causes the help display to appear there instead of in the echo area.
4413 4043
4414+++
4415** Vertical fractional scrolling. 4044** Vertical fractional scrolling.
4416 4045
4417The display of text in windows can be scrolled smoothly in pixels. 4046The display of text in windows can be scrolled smoothly in pixels.
@@ -4434,7 +4063,6 @@ used.
4434 (set-window-vscroll (selected-window) 4063 (set-window-vscroll (selected-window)
4435 (- (window-vscroll) 0.5))))) 4064 (- (window-vscroll) 0.5)))))
4436 4065
4437+++
4438** New hook `fontification-functions'. 4066** New hook `fontification-functions'.
4439 4067
4440Functions from `fontification-functions' are called from redisplay 4068Functions from `fontification-functions' are called from redisplay
@@ -4448,7 +4076,6 @@ as fontified by giving them a non-nil value of the `fontified' text
4448property. It may be reasonable for these functions to check for the 4076property. It may be reasonable for these functions to check for the
4449`fontified' property and not put it back on, but they do not have to. 4077`fontified' property and not put it back on, but they do not have to.
4450 4078
4451+++
4452** Tool bar support. 4079** Tool bar support.
4453 4080
4454Emacs supports a tool bar at the top of a frame under X. The frame 4081Emacs supports a tool bar at the top of a frame under X. The frame
@@ -4559,7 +4186,6 @@ item.
4559 4186
4560** Mode line changes. 4187** Mode line changes.
4561 4188
4562+++
4563*** Mouse-sensitive mode line. 4189*** Mouse-sensitive mode line.
4564 4190
4565The mode line can be made mouse-sensitive by displaying strings there 4191The mode line can be made mouse-sensitive by displaying strings there
@@ -4580,15 +4206,12 @@ The same mechanism is used to determine the `face' and `help-echo'
4580properties of strings in the mode line. See `bindings.el' for an 4206properties of strings in the mode line. See `bindings.el' for an
4581example. 4207example.
4582 4208
4583+++
4584*** If a mode line element has the form `(:eval FORM)', FORM is 4209*** If a mode line element has the form `(:eval FORM)', FORM is
4585evaluated and the result is used as mode line element. 4210evaluated and the result is used as mode line element.
4586 4211
4587+++
4588*** You can suppress mode-line display by setting the buffer-local 4212*** You can suppress mode-line display by setting the buffer-local
4589variable mode-line-format to nil. 4213variable mode-line-format to nil.
4590 4214
4591+++
4592*** A headerline can now be displayed at the top of a window. 4215*** A headerline can now be displayed at the top of a window.
4593 4216
4594This mode line's contents are controlled by the new variable 4217This mode line's contents are controlled by the new variable
@@ -4603,7 +4226,6 @@ The appearance of top mode lines is controlled by the face
4603The function `coordinates-in-window-p' returns `header-line' for a 4226The function `coordinates-in-window-p' returns `header-line' for a
4604position in the header-line. 4227position in the header-line.
4605 4228
4606+++
4607** Text property `display' 4229** Text property `display'
4608 4230
4609The `display' text property is used to insert images into text, 4231The `display' text property is used to insert images into text,
@@ -4739,7 +4361,6 @@ different when object is a string.
4739The normal specification consisting of SPEC only is equivalent to 4361The normal specification consisting of SPEC only is equivalent to
4740`(when t . SPEC)'. 4362`(when t . SPEC)'.
4741 4363
4742+++
4743** New menu separator types. 4364** New menu separator types.
4744 4365
4745Emacs now supports more than one menu separator type. Menu items with 4366Emacs now supports more than one menu separator type. Menu items with
@@ -4804,7 +4425,6 @@ Two dashed lines with 3D raised appearance.
4804Under LessTif/Motif, the last four separator types are displayed like 4425Under LessTif/Motif, the last four separator types are displayed like
4805the corresponding single-line separators. 4426the corresponding single-line separators.
4806 4427
4807+++
4808** New frame parameters for scroll bar colors. 4428** New frame parameters for scroll bar colors.
4809 4429
4810The new frame parameters `scroll-bar-foreground' and 4430The new frame parameters `scroll-bar-foreground' and
@@ -4822,23 +4442,19 @@ The X resource name of these parameters are `scrollBarForeground'
4822Setting these parameters overrides toolkit specific X resource 4442Setting these parameters overrides toolkit specific X resource
4823settings for scroll bar colors. 4443settings for scroll bar colors.
4824 4444
4825+++
4826** You can set `redisplay-dont-pause' to a non-nil value to prevent 4445** You can set `redisplay-dont-pause' to a non-nil value to prevent
4827display updates from being interrupted when input is pending. 4446display updates from being interrupted when input is pending.
4828 4447
4829---
4830** Changing a window's width may now change its window start if it 4448** Changing a window's width may now change its window start if it
4831starts on a continuation line. The new window start is computed based 4449starts on a continuation line. The new window start is computed based
4832on the window's new width, starting from the start of the continued 4450on the window's new width, starting from the start of the continued
4833line as the start of the screen line with the minimum distance from 4451line as the start of the screen line with the minimum distance from
4834the original window start. 4452the original window start.
4835 4453
4836---
4837** The variable `hscroll-step' and the functions 4454** The variable `hscroll-step' and the functions
4838`hscroll-point-visible' and `hscroll-window-column' have been removed 4455`hscroll-point-visible' and `hscroll-window-column' have been removed
4839now that proper horizontal scrolling is implemented. 4456now that proper horizontal scrolling is implemented.
4840 4457
4841+++
4842** Windows can now be made fixed-width and/or fixed-height. 4458** Windows can now be made fixed-width and/or fixed-height.
4843 4459
4844A window is fixed-size if its buffer has a buffer-local variable 4460A window is fixed-size if its buffer has a buffer-local variable