Merge from emacs-24; up to 2012-11-15T23:31:37Z!dancol@dancol.org
[bpt/emacs.git] / etc / NEWS
index 177f910..57e4098 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -25,21 +25,47 @@ so we will look at it and add it to the manual.
 * Startup Changes in Emacs 24.4
 * Changes in Emacs 24.4
 * Editing Changes in Emacs 24.4
 * Startup Changes in Emacs 24.4
 * Changes in Emacs 24.4
 * Editing Changes in Emacs 24.4
+
+\f
 * Changes in Specialized Modes and Packages in Emacs 24.4
 * Changes in Specialized Modes and Packages in Emacs 24.4
+
++++
+** New function `ses-rename-cell' to give SES cells arbitrary names.
+
+\f
 * New Modes and Packages in Emacs 24.4
 * New Modes and Packages in Emacs 24.4
+** New nadvice.el package offering lighter-weight advice facilities.
+It is layered as:
+- add-function/remove-function which can be used to add/remove code on any
+  function-carrying place, such as process-filters or `<foo>-function' hooks.
+- advice-add/advice-remove to add/remove a piece of advice on a named function,
+  much like `defadvice' does.
+
 * Incompatible Lisp Changes in Emacs 24.4
 
 * Incompatible Lisp Changes in Emacs 24.4
 
+** `defadvice' does not honor the `freeze' flag and cannot advise
+special-forms any more.
+
 ** `dolist' in lexical-binding mode does not bind VAR in RESULT any more.
 VAR was bound to nil which was not tremendously useful and just lead to
 spurious warnings about an unused var.
 
 * Lisp changes in Emacs 24.4
 
 ** `dolist' in lexical-binding mode does not bind VAR in RESULT any more.
 VAR was bound to nil which was not tremendously useful and just lead to
 spurious warnings about an unused var.
 
 * Lisp changes in Emacs 24.4
 
+** New function special-form-p.
 ** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
 text-property on the first char.
 
 ** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
 text-property on the first char.
 
+** The `defalias-fset-function' property lets you catch calls to defalias
+and redirect them to your own function instead of `fset'.
+
 * Changes in Emacs 24.4 on non-free operating systems
 
 * Changes in Emacs 24.4 on non-free operating systems
 
++++
+** The "generate a backtrace on fatal error" feature now works on MS Windows.
+The backtrace is written to the 'emacs_backtrace.txt' file in the
+directory where Emacs was running.
+
 \f
 * Installation Changes in Emacs 24.3
 
 \f
 * Installation Changes in Emacs 24.3
 
@@ -147,15 +173,15 @@ autoloads have been redefined as functions).
 ---
 *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
 next and previous path separator, respectively.
 ---
 *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
 next and previous path separator, respectively.
-
++++
 *** minibuffer-electric-default-mode can rewrite (default ...) to [...].
 Just set minibuffer-eldef-shorten-default to t before enabling the mode.
 
 *** minibuffer-electric-default-mode can rewrite (default ...) to [...].
 Just set minibuffer-eldef-shorten-default to t before enabling the mode.
 
++++
 ** ImageMagick support, if available, is automatically enabled.
 It is no longer necessary to call `imagemagick-register-types'
 explicitly to install ImageMagick image types; that function is called
 ** ImageMagick support, if available, is automatically enabled.
 It is no longer necessary to call `imagemagick-register-types'
 explicitly to install ImageMagick image types; that function is called
-automatically at startup, or when customizing a relevant imagemagick-
-option.
+automatically at startup, or when customizing an imagemagick- option.
 +++
 *** Setting `imagemagick-types-inhibit' to t now disables the use of
 ImageMagick to view images.  You must call imagemagick-register-types
 +++
 *** Setting `imagemagick-types-inhibit' to t now disables the use of
 ImageMagick to view images.  You must call imagemagick-register-types
@@ -185,6 +211,7 @@ and sorted above the other "available" packages by default.
 ** `C-x C-q' is now bound to the new minor mode `read-only-mode'.
 This minor mode replaces `toggle-read-only', which is now obsolete.
 
 ** `C-x C-q' is now bound to the new minor mode `read-only-mode'.
 This minor mode replaces `toggle-read-only', which is now obsolete.
 
++++
 ** Emacs now generates backtraces on fatal errors.
 On encountering a fatal error, Emacs now outputs a textual description
 of the fatal signal, and a short backtrace on platforms like glibc
 ** Emacs now generates backtraces on fatal errors.
 On encountering a fatal error, Emacs now outputs a textual description
 of the fatal signal, and a short backtrace on platforms like glibc
@@ -339,6 +366,8 @@ provide the old non-prefixed names.  Some exceptions are listed below.
 +++
 *** `cl-flet' is not like `flet' (which is deprecated).
 Instead it obeys the behavior of Common-Lisp's `flet'.
 +++
 *** `cl-flet' is not like `flet' (which is deprecated).
 Instead it obeys the behavior of Common-Lisp's `flet'.
+In particular, in cl-flet function definitions are lexically scoped,
+whereas in flet the scoping is dynamic.
 
 +++
 *** `cl-labels' is slightly different from `labels'.
 
 +++
 *** `cl-labels' is slightly different from `labels'.
@@ -356,13 +385,16 @@ of `symbol-function' in place forms.
 A side effect is that vars without corresponding value are bound to nil
 rather than making them unbound.
 
 A side effect is that vars without corresponding value are bound to nil
 rather than making them unbound.
 
-*** The following methods of extending `setf' are obsolete.
-Use gv.el instead (FIXME; details).
-`define-setf-expander', `defsetf', `define-modify-macro'
++++
+*** The following methods of extending `setf' are obsolete
+(use features from gv.el instead):
+`define-modify-macro' (use `gv-letplace')
+`defsetf' (use `gv-define-simple-setter' or `gv-define-setter')
+`define-setf-expander' (use `gv-define-setter' or `gv-define-expander')
+`get-setf-method' no longer exists (see "Incompatible Lisp Changes")
 
 
-** Compilation mode
 +++
 +++
-*** New option `compilation-always-kill'.
+** New compilation option `compilation-always-kill'.
 
 ** Customize
 ---
 
 ** Customize
 ---
@@ -372,10 +404,9 @@ Use gv.el instead (FIXME; details).
 `customize-apropos-options' (i.e. the prefix argument does nothing for
 these commands now).
 
 `customize-apropos-options' (i.e. the prefix argument does nothing for
 these commands now).
 
-** Desktop
 ---
 ---
-*** `desktop-path' no longer includes the "." directory.  Desktop
-files are now located in ~/.emacs.d by default.
+** `desktop-path' no longer includes the "." directory.
+Desktop files are now located in ~/.emacs.d by default.
 
 ** D-Bus
 
 
 ** D-Bus
 
@@ -409,18 +440,21 @@ details.
 
 ** Diff mode
 
 
 ** Diff mode
 
+---
 *** Changes are now highlighted using the same color scheme as in
 modern VCSes.  Deletions are displayed in red (new faces
 *** Changes are now highlighted using the same color scheme as in
 modern VCSes.  Deletions are displayed in red (new faces
-`diff-refine-removed' and `smerge-refined-removed' and new definition
+`diff-refine-removed' and `smerge-refined-removed', and new definition
 of `diff-removed'), insertions in green (new faces `diff-refine-added'
 of `diff-removed'), insertions in green (new faces `diff-refine-added'
-and `smerge-refined-added' and new definition of `diff-added').
+and `smerge-refined-added', and new definition of `diff-added').
 
 
+---
 *** The variable `diff-use-changed-face' defines whether to use the
 face `diff-changed', or `diff-removed' and `diff-added' to highlight
 changes in context diffs.
 
 *** The variable `diff-use-changed-face' defines whether to use the
 face `diff-changed', or `diff-removed' and `diff-added' to highlight
 changes in context diffs.
 
-*** The new command `diff-remove-trailing-whitespace' fixes trailing
-whitespace problems introduced by the diff.
++++
+*** The new command `diff-delete-trailing-whitespace' removes trailing
+whitespace introduced by a diff.
 
 ** Dired
 +++
 
 ** Dired
 +++
@@ -446,37 +480,43 @@ The global binding for `M-=', `count-words-region' is in effect.
 ---
 ** Ediff now uses the same color scheme as Diff mode.
 
 ---
 ** Ediff now uses the same color scheme as Diff mode.
 
-** erc will look up server/channel names via auth-source and use the
-channel keys found, if any.
+** ERC
+
++++
+*** New module "notifications", which can send a notification when you
+receive a private message or your nickname is mentioned.
+
++++
+*** ERC will look up server/channel names via auth-source and use any
+channel keys found.
+
++++
+*** New option `erc-lurker-hide-list', similar to `erc-hide-list', but
+only applies to messages sent by lurkers.
 
 
++++
 ** Flymake uses fringe bitmaps to indicate errors and warnings.
 See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
 `flymake-warning-bitmap'.
 
 ** Flymake uses fringe bitmaps to indicate errors and warnings.
 See `flymake-fringe-indicator-position', `flymake-error-bitmap' and
 `flymake-warning-bitmap'.
 
-** Follow mode
 ---
 ---
-*** The obsolete variable `follow-mode-off-hook' has been removed.
----
-*** Follow mode no longer works by using advice.
+** Follow mode no longer works by using advice.
 The option `follow-intercept-processes' has been removed.
 
 The option `follow-intercept-processes' has been removed.
 
-** FFAP
-
-*** The option `ffap-url-unwrap-remote' can now be a list of strings,
-specifying URL types which should be converted to remote file names at
+---
+** The FFAP option `ffap-url-unwrap-remote' can now be a list of strings,
+specifying URL types that should be converted to remote file names at
 the FFAP prompt.  The default is now '("ftp").
 
 the FFAP prompt.  The default is now '("ftp").
 
-** Generic-x
-`javascript-generic-mode' is now an obsolete alias for `js-mode'.
-
-** Ibuffer
-
-*** New `derived-mode' filter, bound to `/ M'.
+---
+** New Ibuffer `derived-mode' filter, bound to `/ M'.
 The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
 
 The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
 
-** Mouse Avoidance mode
+---
+** `javascript-generic-mode' is now an obsolete alias for `js-mode'.
+
 +++
 +++
-*** New variable `mouse-avoidance-banish-position' specifies where the
+** New option `mouse-avoidance-banish-position' specifies where the
 `banish' mouse avoidance setting moves the mouse.
 
 +++
 `banish' mouse avoidance setting moves the mouse.
 
 +++
@@ -484,11 +524,14 @@ The old binding for `/ M' (filter by used-mode) is now bound to `/ m'.
 The function `notifications-get-capabilities' returns the supported
 server properties.
 
 The function `notifications-get-capabilities' returns the supported
 server properties.
 
+---
 ** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
 closing brackets to be aligned with the line of the opening bracket.
 
 ** In Perl mode, new option `perl-indent-parens-as-block' causes non-block
 closing brackets to be aligned with the line of the opening bracket.
 
+---
 ** In Proced mode, new command `proced-renice' renices marked processes.
 
 ** In Proced mode, new command `proced-renice' renices marked processes.
 
+---
 ** Python mode
 
 A new version of python.el, which provides several new features, including:
 ** Python mode
 
 A new version of python.el, which provides several new features, including:
@@ -535,6 +578,8 @@ python-insert-while       | python-skeleton-while
 python-find-function      | python-nav-jump-to-defun
 python-next-statement     | python-nav-forward-sentence
 python-previous-statement | python-nav-backward-sentence
 python-find-function      | python-nav-jump-to-defun
 python-next-statement     | python-nav-forward-sentence
 python-previous-statement | python-nav-backward-sentence
+python-beginning-of-defun-function  | python-nav-beginning-of-defun
+python-end-of-defun-function        | python-nav-end-of-defun
 python-send-buffer        | python-shell-send-buffer
 python-send-defun         | python-shell-send-defun
 python-send-region        | python-shell-send-region
 python-send-buffer        | python-shell-send-buffer
 python-send-defun         | python-shell-send-defun
 python-send-region        | python-shell-send-region
@@ -544,37 +589,28 @@ python-send-string        | python-shell-send-string
 python-switch-to-python   | python-shell-switch-to-shell
 python-describe-symbol    | python-eldoc-at-point
 
 python-switch-to-python   | python-shell-switch-to-shell
 python-describe-symbol    | python-eldoc-at-point
 
+---
 ** reStructuredText mode
 
 ** reStructuredText mode
 
-*** Rebind nearly all keys making room for more keys and complying
-better to usage in other modes.  Describe bindings with C-c C-h.
-
-*** Major revision of indentation working very similar to other
-modes.  TAB is your friend.
-
-*** Major revision of filling working fine with most of
-reStructuredText syntax.  Support auto-filling.
+*** Keybindings (see `C-c C-h'), TAB indentation, filling and auto-filling,
+fontification, comment handling, and customization have all been revised
+and improved.
 
 
-*** Major revision of comment handling.
+*** Support for `imenu' and `which-function-mode'.
 
 
-*** Major revision of fontification working with `jit-lock-mode'.
-
-*** Cover reStructuredText syntax more closely.  Improve
-the experience for Sphinx users.
+*** The reStructuredText syntax is more closely covered.
+Sphinx support has been improved.
 
 *** `rst-insert-list' inserts new list or continues existing lists.
 
 
 *** `rst-insert-list' inserts new list or continues existing lists.
 
-*** Extend correct and improve customization.
-
-*** Negative prefix argument always works for `rst-adjust'.
-
-*** Reset window configuration after displaying TOC.
+*** A negative prefix argument always works for `rst-adjust'.
 
 
-*** Package version in `rst-version'.
+*** The window configuration is reset after displaying a TOC.
 
 
-*** Support `imenu' and `which-func'.
+*** The constant `rst-version' describes the rst.el package version.
 
 
-** SH Script mode
+---
+** Shell Script mode
 
 *** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
 
 
 *** Pairing of parens/quotes uses electric-pair-mode instead of skeleton-pair.
 
@@ -582,49 +618,46 @@ the experience for Sphinx users.
 
 *** `sh-use-smie' lets you choose a new indentation and navigation code.
 
 
 *** `sh-use-smie' lets you choose a new indentation and navigation code.
 
-** Shell
-
-*** New option `async-shell-command-buffer' specifies what buffer to use
-for a new asynchronous shell command when the default output buffer
-`*Async Shell Command*' is already taken by another running command.
-
-** SQL Mode
-
-*** DB2 added `sql-db2-escape-newlines'
++++
+** New option `async-shell-command-buffer' specifies the buffer to use
+for a new asynchronous `shell-command' when the default output buffer
+`*Async Shell Command*' is already in use.
 
 
+---
+** SQL mode has a new option `sql-db2-escape-newlines'.
 If non-nil, newlines sent to the command interpreter will be escaped
 by a backslash.  The default does not escape the newlines and assumes
 that the sql statement will be terminated by a semicolon.
 
 ** Tabulated List and packages derived from it
 If non-nil, newlines sent to the command interpreter will be escaped
 by a backslash.  The default does not escape the newlines and assumes
 that the sql statement will be terminated by a semicolon.
 
 ** Tabulated List and packages derived from it
-
++++
 *** New command `tabulated-list-sort', bound to `S', sorts the column
 at point, or the Nth column if a numeric prefix argument is given.
 
 ** Term
 *** New command `tabulated-list-sort', bound to `S', sorts the column
 at point, or the Nth column if a numeric prefix argument is given.
 
 ** Term
-
-The variables `term-default-fg-color' and `term-default-bg-color' are
-now deprecated in favor of the `term-face' face, that you can
-customize.  Also, it is now possible to customize how are displayed the
-ANSI terminal colors and styles by customizing the corresponding
-`term-color-<COLOR>', `term-color-underline' and `term-color-bold'
-faces.
++++
+*** The variables `term-default-fg-color' and `term-default-bg-color' are
+now deprecated in favor of the customizable face `term'.
++++
+*** You can customize how to display ANSI terminal colors and styles
+by customizing the corresponding `term-color-<COLOR>',
+`term-color-underline' and `term-color-bold' faces.
 
 ** Tramp
 +++
 
 ** Tramp
 +++
-*** The syntax has been extended in order to allow ad-hoc proxy
-definitions.  See the manual for details.
+*** The syntax has been extended in order to allow ad-hoc proxy definitions.
+See the manual for details.
 +++
 *** Remote processes are now supported also on remote Windows host.
 
 ** URL
 +++
 *** Remote processes are now supported also on remote Windows host.
 
 ** URL
-
++++
 *** Structs made by `url-generic-parse-url' have nil `attributes' slot.
 Previously, this slot stored semicolon-separated attribute-value pairs
 appended to some imap URLs, but this is not compatible with RFC 3986.
 So now the `filename' slot stores the entire path and query components
 and the `attributes' slot is always nil.
 *** Structs made by `url-generic-parse-url' have nil `attributes' slot.
 Previously, this slot stored semicolon-separated attribute-value pairs
 appended to some imap URLs, but this is not compatible with RFC 3986.
 So now the `filename' slot stores the entire path and query components
 and the `attributes' slot is always nil.
-
++++
 *** New function `url-encode-url' for encoding a URI string.
 The `url-retrieve' function now uses this to encode its URL argument,
 in case that is not properly encoded.
 *** New function `url-encode-url' for encoding a URI string.
 The `url-retrieve' function now uses this to encode its URL argument,
 in case that is not properly encoded.
@@ -640,17 +673,15 @@ in case that is not properly encoded.
 
 *** Accepts \r and \f as whitespace.
 
 
 *** Accepts \r and \f as whitespace.
 
-** Which Function mode
 +++
 +++
-*** `which-func-modes' now defaults to t, so Which Function mode, when
+** `which-func-modes' now defaults to t, so Which Function mode, when
 enabled, applies to all applicable major modes.
 
 ---
 ** winner-mode-hook now runs when the mode is disabled, as well as when it is
 enabled.
 
 enabled, applies to all applicable major modes.
 
 ---
 ** winner-mode-hook now runs when the mode is disabled, as well as when it is
 enabled.
 
-** FIXME something happened to ses.el, 2012-04-17.
-
++++
 ** Hooks renamed to avoid obsolete "-hooks" suffix:
 *** semantic-lex-reset-hooks -> semantic-lex-reset-functions
 *** semantic-change-hooks -> semantic-change-functions
 ** Hooks renamed to avoid obsolete "-hooks" suffix:
 *** semantic-lex-reset-hooks -> semantic-lex-reset-functions
 *** semantic-change-hooks -> semantic-change-functions
@@ -683,6 +714,8 @@ And in any case it's just a terrible package: ugly semantics, terrible
 inefficiency, and not namespace-clean.
 ---
 *** bruce.el
 inefficiency, and not namespace-clean.
 ---
 *** bruce.el
++++
+*** cust-print.el
 ---
 *** ledit.el
 ---
 ---
 *** ledit.el
 ---
@@ -691,14 +724,6 @@ inefficiency, and not namespace-clean.
 *** mouse-sel.el
 ---
 *** patcomp.el
 *** mouse-sel.el
 ---
 *** patcomp.el
-+++
-*** cust-print.el
-
-\f
-* New Modes and Packages in Emacs 24.3
-
-FIXME? erc-desktop-notifications.el, gv.el, profiler.el,
-gnus-notifications.el, mm-archive.el
 
 \f
 * Incompatible Lisp Changes in Emacs 24.3
 
 \f
 * Incompatible Lisp Changes in Emacs 24.3
@@ -717,6 +742,7 @@ sequence in later calls.
 font name as a string.  Whether it returns a font spec or a font name
 depends on the graphical library.
 
 font name as a string.  Whether it returns a font spec or a font name
 depends on the graphical library.
 
++++
 ** If the NEWTEXT arg to `replace-match' contains a substring "\?",
 that substring is inserted literally even if the LITERAL arg is
 non-nil, instead of causing an error to be signaled.
 ** If the NEWTEXT arg to `replace-match' contains a substring "\?",
 that substring is inserted literally even if the LITERAL arg is
 non-nil, instead of causing an error to be signaled.
@@ -742,6 +768,13 @@ third argument is a frame (that usage was obsolete since Emacs 22.2).
 but keywords or keyword-string pairs.  The old argument list will
 still be supported for Emacs 24.x.
 
 but keywords or keyword-string pairs.  The old argument list will
 still be supported for Emacs 24.x.
 
++++
+** The CL package's `get-setf-method' function no longer exists.
+Generalized variables are now part of core Emacs Lisp, and implemented
+differently to the way cl.el used to do it.  It is not possible to
+define a compatible replacement for `get-setf-method'.  See the file
+gv.el for internal details of the new implementation.
+
 ** Spelling changes.
 Some Lisp symbols have been renamed to avoid problems with spelling
 that is incorrect or inconsistent with how Emacs normally spells a word.
 ** Spelling changes.
 Some Lisp symbols have been renamed to avoid problems with spelling
 that is incorrect or inconsistent with how Emacs normally spells a word.
@@ -773,16 +806,18 @@ are deprecated and will be removed eventually.
      deactivate-current-input-method-function
 
 +++
      deactivate-current-input-method-function
 
 +++
-** Some obsolete functions, variables, and faces were removed:
+** Some obsolete functions, variables, and faces have been removed:
+*** `last-input-char', `last-command-char', `unread-command-char'
 *** `facemenu-unlisted-faces'
 *** `rmail-decode-mime-charset'
 *** `facemenu-unlisted-faces'
 *** `rmail-decode-mime-charset'
-*** `last-input-char', `last-command-char', `unread-command-char'.
 *** `iswitchb-read-buffer'
 *** `sc-version', `sc-submit-bug-report'
 *** `set-char-table-default'
 *** `iswitchb-read-buffer'
 *** `sc-version', `sc-submit-bug-report'
 *** `set-char-table-default'
-*** `string-to-sequence' (use `string-to-list' or `string-to-vector').
+*** `string-to-sequence' (use `string-to-list' or `string-to-vector')
 *** `compile-internal'
 *** `compile-internal'
+*** `modeline'
 *** `mode-line-inverse-video'
 *** `mode-line-inverse-video'
+*** `follow-mode-off-hook'
 *** `cvs-commit-buffer-require-final-newline'
 (use `log-edit-require-final-newline' instead)
 *** `cvs-changelog-full-paragraphs'
 *** `cvs-commit-buffer-require-final-newline'
 (use `log-edit-require-final-newline' instead)
 *** `cvs-changelog-full-paragraphs'
@@ -791,18 +826,20 @@ are deprecated and will be removed eventually.
 *** `vc-ignore-vc-files' (use `vc-handled-backends' instead)
 *** `vc-master-templates' (use `vc-handled-backends' instead)
 *** `vc-checkout-carefully'
 *** `vc-ignore-vc-files' (use `vc-handled-backends' instead)
 *** `vc-master-templates' (use `vc-handled-backends' instead)
 *** `vc-checkout-carefully'
-*** `modeline'
 
 \f
 * Lisp changes in Emacs 24.3
 
 ** New sampling-based Elisp profiler.
 
 \f
 * Lisp changes in Emacs 24.3
 
 ** New sampling-based Elisp profiler.
-Try M-x profiler-start ... M-x profiler-stop; and then M-x profiler-report.
-The sampling rate can be based on CPU time (only supported on some
-systems), or based on memory allocations.
+Try M-x profiler-start, do some work, and then call M-x profiler-report.
+When finished, use M-x profiler-stop.  The sampling rate can be based on
+CPU time (only supported on some systems) or memory allocations.
 
 
++++
 ** CL-style generalized variables are now in core Elisp.
 `setf' is autoloaded; `push' and `pop' accept generalized variables.
 ** CL-style generalized variables are now in core Elisp.
 `setf' is autoloaded; `push' and `pop' accept generalized variables.
+You can define your own generalized variables using `gv-define-simple-setter',
+`gv-define-setter', etc.
 
 +++
 ** `defun' also accepts a (declare DECLS) form, like `defmacro'.
 
 +++
 ** `defun' also accepts a (declare DECLS) form, like `defmacro'.
@@ -821,20 +858,25 @@ More commands use `read-regexp' now to read their regexp arguments.
 *** New function `completion-table-with-quoting' to handle completion
 in the presence of quoting, such as file completion in shell buffers.
 
 *** New function `completion-table-with-quoting' to handle completion
 in the presence of quoting, such as file completion in shell buffers.
 
++++
 *** New function `completion-table-subvert' to use an existing completion
 table, but with a different prefix.
 
 ** Debugger changes
 
 *** New function `completion-table-subvert' to use an existing completion
 table, but with a different prefix.
 
 ** Debugger changes
 
++++
 *** New error type and new function `user-error'.
 These do not trigger the debugger.
 
 *** New error type and new function `user-error'.
 These do not trigger the debugger.
 
-*** New option `debugger-bury-or-kill'.
++++
+*** New option `debugger-bury-or-kill', saying what to do with the
+debugger buffer when exiting debug.
 
 
++++
 *** Set `debug-on-message' to enter the debugger when a certain
 message is displayed in the echo area.  This can be useful when trying
 to work out which code is doing something.
 *** Set `debug-on-message' to enter the debugger when a certain
 message is displayed in the echo area.  This can be useful when trying
 to work out which code is doing something.
-
+---
 *** New var `inhibit-debugger', automatically set to prevent accidental
 recursive invocations.
 
 *** New var `inhibit-debugger', automatically set to prevent accidental
 recursive invocations.
 
@@ -842,27 +884,36 @@ recursive invocations.
 +++
 *** The functions get-lru-window, get-mru-window and get-largest-window
 now accept a third argument to avoid choosing the selected window.
 +++
 *** The functions get-lru-window, get-mru-window and get-largest-window
 now accept a third argument to avoid choosing the selected window.
-
++++
 *** Additional values recognized for option `window-combination-limit'.
 
 *** Additional values recognized for option `window-combination-limit'.
 
-*** New macro `with-temp-buffer-window'.
++++
+*** New macro `with-temp-buffer-window', similar to
+`with-output-to-temp-buffer'.
 
 
+---
 *** `temp-buffer-resize-mode' no longer resizes windows that have been
 reused.
 
 *** `temp-buffer-resize-mode' no longer resizes windows that have been
 reused.
 
-*** New function `fit-frame-to-buffer' and new options
-`fit-frame-to-buffer' and `fit-frame-to-buffer-bottom-margin'.
++++
+*** New command `fit-frame-to-buffer' adjusts the frame height to
+fit the contents.
+
++++
+*** The command `fit-window-to-buffer' can adjust the frame height
+if the new option `fit-frame-to-buffer' is non-nil.
+
 +++
 *** New option switch-to-buffer-preserve-window-point to restore a
 window's point when switching buffers.
 +++
 *** New display action functions `display-buffer-below-selected',
 and `display-buffer-in-previous-window'.
 +++
 *** New option switch-to-buffer-preserve-window-point to restore a
 window's point when switching buffers.
 +++
 *** New display action functions `display-buffer-below-selected',
 and `display-buffer-in-previous-window'.
-
++++
 *** New display action alist entry `inhibit-switch-frame', if non-nil,
 tells display action functions to avoid changing which frame is
 selected.
 *** New display action alist entry `inhibit-switch-frame', if non-nil,
 tells display action functions to avoid changing which frame is
 selected.
-
++++
 *** New display action alist entry `pop-up-frame-parameters', if
 non-nil, specifies frame parameters to give any newly-created frame.
 +++
 *** New display action alist entry `pop-up-frame-parameters', if
 non-nil, specifies frame parameters to give any newly-created frame.
 +++
@@ -895,7 +946,7 @@ in Emacs 24.1:
 *** `current-time-string' no longer requires that its argument's year
 must be in the range 1000..9999.  It now works with any year supported
 by the underlying C implementation.
 *** `current-time-string' no longer requires that its argument's year
 must be in the range 1000..9999.  It now works with any year supported
 by the underlying C implementation.
-
++++
 *** `current-time' now returns extended-format time stamps
 (HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds.
 PSEC is typically a multiple of 1000 on current machines.  Other
 *** `current-time' now returns extended-format time stamps
 (HIGH LOW USEC PSEC), where the new PSEC slot specifies picoseconds.
 PSEC is typically a multiple of 1000 on current machines.  Other
@@ -907,7 +958,7 @@ stamps are still accepted.
 [TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
 The PSECS slot is new, and uses picosecond resolution.  It can be
 accessed via the new timer--psecs accessor.
 [TRIGGERED-P HI-SECS LO-SECS USECS REPEAT-DELAY FUNCTION ARGS IDLE-DELAY PSECS].
 The PSECS slot is new, and uses picosecond resolution.  It can be
 accessed via the new timer--psecs accessor.
-
++++
 *** Last-modified time stamps in undo lists now are of the form
 (t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
 
 *** Last-modified time stamps in undo lists now are of the form
 (t HI-SECS LO-SECS USECS PSECS) instead of (t HI-SECS . LO-SECS).
 
@@ -918,19 +969,20 @@ Previously, they returned NaNs on some platforms but signaled errors
 on others.  The affected functions are acos, asin, tan, exp, expt,
 log, log10, sqrt, and mod.
 
 on others.  The affected functions are acos, asin, tan, exp, expt,
 log, log10, sqrt, and mod.
 
-** Interpreted files are eagerly macro-expanded during load.
++++
+** Emacs tries to macroexpand interpreted (non-compiled) files during load.
 This can significantly speed up execution of non-byte-compiled code,
 This can significantly speed up execution of non-byte-compiled code,
-but can also bump into harmless and previously unnoticed cyclic
-dependencies.  These should not be fatal: they will simply cause the
-macro-calls to be left for later expansion (as before), but will also
-result in a warning ("Eager macro-expansion skipped due to cycle")
-describing the cycle.
+but can also bump into previously unnoticed cyclic dependencies.
+These are generally harmless: they will simply cause the macro calls
+to be left for later expansion (as before), but will result in a
+warning ("Eager macro-expansion skipped due to cycle") describing the cycle.
+You may wish to restructure your code so this does not happen.
 
 ** Miscellaneous new functions:
 +++
 
 ** Miscellaneous new functions:
 +++
-*** `autoloadp'
+*** `autoloadp' tests if its argument is an autoloaded object.
 +++
 +++
-*** `autoload-do-load'
+*** `autoload-do-load' performs the autoloading operation.
 +++
 *** `buffer-narrowed-p' tests if the buffer is narrowed.
 +++
 +++
 *** `buffer-narrowed-p' tests if the buffer is narrowed.
 +++
@@ -939,7 +991,9 @@ describing the cycle.
 *** `function-get' fetches a function property, following aliases.
 +++
 *** `posnp' tests if an object is a `posn'.
 *** `function-get' fetches a function property, following aliases.
 +++
 *** `posnp' tests if an object is a `posn'.
-*** `set-temporary-overlay-map' sets up a temporary overlay map.
++++
+*** `set-temporary-overlay-map' sets up a temporary keymap that
+takes precedence over most other maps for a short while (normally one key).
 +++
 *** `system-users' returns the user names on the system.
 +++
 +++
 *** `system-users' returns the user names on the system.
 +++
@@ -947,23 +1001,24 @@ describing the cycle.
 +++
 *** `tty-top-frame' returns the topmost frame of a text terminal.
 
 +++
 *** `tty-top-frame' returns the topmost frame of a text terminal.
 
++++
 ** New macros `setq-local' and `defvar-local'.
 
 +++
 ** New fringe bitmap `exclamation-mark'.
 
 ** New macros `setq-local' and `defvar-local'.
 
 +++
 ** New fringe bitmap `exclamation-mark'.
 
++++
 ** Face underlining can now use a wave.
 ** Face underlining can now use a wave.
-See the "Face Attributes" section of the Elisp manual.
 
 ** The following functions and variables are obsolete:
 ---
 
 ** The following functions and variables are obsolete:
 ---
-*** `automount-dir-prefix'
+*** `automount-dir-prefix' (use `directory-abbrev-alist')
 +++
 *** `buffer-has-markers-at'
 ---
 *** `macro-declaration-function' (use `macro-declarations-alist')
 ---
 +++
 *** `buffer-has-markers-at'
 ---
 *** `macro-declaration-function' (use `macro-declarations-alist')
 ---
-*** `window-system-version'
+*** `window-system-version' (provides no useful information)
 ---
 *** `dired-pop-to-buffer' (use `dired-mark-pop-up')
 ---
 ---
 *** `dired-pop-to-buffer' (use `dired-mark-pop-up')
 ---