Add 2012 to FSF copyright years for Emacs files
[bpt/emacs.git] / etc / NEWS
index dbeca0b..2676c54 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2010-2011  Free Software Foundation, Inc.
+Copyright (C) 2010-2012  Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -51,6 +51,8 @@ This is not a new feature; only the configure flag is new.
 ---
 ** There is a new configure option --with-wide-int.
 With it, Emacs integers typically have 62 bits, even on 32-bit machines.
+On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB
+to about 2 GiB.
 
 ---
 ** New translation of the Emacs Tutorial in Hebrew is available.
@@ -95,31 +97,27 @@ and also when HOME is set to C:\ by default.
 ** Completion
 
 *** shell-mode uses pcomplete rules, with the standard completion UI.
-
-*** Many packages have been changed to use completion-at-point rather than
-their own completion code.
-
++++
+*** Many packages have been changed to use `completion-at-point'
+rather than their own completion code.
++++
+*** `completion-at-point' now handles tags and semantic completion.
+---
 *** Completion in a non-minibuffer now tries to detect the end of completion
 and pops down the *Completions* buffer accordingly.
-
++++
 *** Completion can cycle, depending on completion-cycle-threshold.
-
++++
 *** New completion style `substring'.
-
++++
 *** Completion style can be set per-category `completion-category-overrides'.
-
++++
 *** Completion of buffers now uses substring completion by default.
 
-*** `completing-read' can be customized using the new variable
-`completing-read-function'.
-
-*** minibuffer-local-filename-must-match-map is not used any more.
-Instead, the bindings in minibuffer-local-filename-completion-map are combined
-with minibuffer-local-must-match-map.
-
 ** Mail changes
 
-The default of `send-mail-function' is now `sendmail-query-once',
++++
+*** The default of `send-mail-function' is now `sendmail-query-once',
 which asks the user (once) whether to use the smtpmail package to send
 email, or to use the old defaults that rely on external mail
 facilities (`sendmail-send-it' on GNU/Linux and other Unix-like
@@ -136,7 +134,10 @@ That variable used to have the default value "~/.authinfo", in which
 case you won't see any difference.  But if you changed it to be a list
 of user names and passwords, that setting is now ignored; you will be
 prompted for the user name and the password, which will then be saved
-to ~/.authinfo.
+to ~/.authinfo.  (To control where and how the credentials are stored,
+see the auth-source manual.  You may want to change the auth-source
+preferences if you want to store the credentials encrypted, for
+instance.)
 
 You can also manually copy the credentials to your ~/.authinfo file.
 For example, if you had
@@ -150,12 +151,19 @@ then the equivalent line in ~/.authinfo would be
 
 **** The variable `smtpmail-starttls-credentials' has been removed.
 
-If you had that set, then then you need to put
+If you had that set, then you need to put
 
   machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"
 
 in your ~/.authinfo file instead.
 
+*** Mail mode changes (this is the old Mail mode, not Message mode)
++++
+**** New command `mail-add-attachment' for adding MIME attachments
+---
+**** The command `mail-attach-file' was renamed to `mail-insert-file'.
+The old name is now an obsolete alias to the new name.
+
 ** Emacs server and client changes
 +++
 *** New option `server-port' specifies the port on which the Emacs
@@ -166,7 +174,7 @@ server should listen.
 *** New emacsclient argument --frame-parameters can be used to set the
 frame parameters of a newly-created graphical frame.
 +++
-*** If emacsclient shuts down as a result of Emacs signalling an
+*** If emacsclient shuts down as a result of Emacs signaling an
 error, its exit status is 1.
 +++
 *** New emacsclient argument --parent-id ID.
@@ -182,8 +190,8 @@ Text that includes characters from right-to-left (RTL) scripts, such
 as Arabic, Farsi, or Hebrew, is displayed in the correct visual order
 as expected by users of those scripts.  This display reordering is a
 "Full bidirectionality" class implementation of the Unicode
-Bidirectional Algorithm.  Buffers RTL text should look exactly the
-same as before.
+Bidirectional Algorithm.  Buffers with no RTL text should look exactly
+the same as before.
 
 For more information, see the node "Bidirectional Editing" in the
 Emacs Manual.
@@ -219,23 +227,27 @@ cannot be encoded by the `terminal-coding-system'.
 ---
 *** New input methods for Farsi: farsi and farsi-translit.
 
-** Improved GTK integration
++++
+*** `nobreak-char-display' now also highlights Unicode hyphen chars
+(U+2010 and U+2011).
 
+** Improved GTK integration
++++
 *** GTK scroll-bars are now placed on the right by default.
 Use `set-scroll-bar-mode' to change this.
-
++++
 *** GTK tool bars can have just text, just images or images and text.
 Customize `tool-bar-style' to choose style.  On a Gnome desktop, the default
 is taken from the desktop settings.
-
+---
 *** GTK tool bars can be placed on the left/right or top/bottom of the frame.
 The frame-parameter tool-bar-position controls this.  It takes the values
 top, left, right or bottom.  The Options => Show/Hide menu has entries
 for this.
-
-*** The colors for selected text (the region face) are taken from the GTK
-theme when Emacs is built with GTK.
-
++++
+*** The colors for selected text (the `region' face) are taken from
+the GTK theme when Emacs is built with GTK.
++++
 *** Emacs uses GTK tooltips by default if built with GTK.  You can turn that
 off by customizing x-gtk-use-system-tooltips.
 
@@ -243,10 +255,12 @@ off by customizing x-gtk-use-system-tooltips.
 ** New basic faces `error', `warning', `success' are available to
 highlight strings that indicate failure, caution or successful operation.
 
+---
 ** Lucid menus and dialogs can display antialiased fonts if Emacs is built
 with Xft.  To change font, use the X resource font, for example:
 Emacs.pane.menubar.font:  Courier-12
 
++++
 ** On graphical displays, the mode-line no longer ends in dashes.
 Also, the first dash (which does not indicate anything) is just
 displayed as a space.
@@ -261,14 +275,10 @@ context in their return values.
 
 *** The new functions file-selinux-context and set-file-selinux-context
 get and set the SELinux context of a file.
-
+---
 *** Tramp offers handlers for file-selinux-context and set-file-selinux-context
 for remote machines which support SELinux.
 
-+++
-** The function format-time-string now supports the %N directive, for
-higher-resolution time stamps.
-
 ** Changes for exiting Emacs
 +++
 *** The function kill-emacs is now run upon receipt of the signals
@@ -279,25 +289,25 @@ If you have code that adds something to kill-emacs-hook, you should
 consider if it is still appropriate to add it in the noninteractive case.
 
 ** Scrolling changes
-
++++
 *** New scrolling commands `scroll-up-command' and `scroll-down-command'
 (bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom
 of buffer at first key-press (instead move to top/bottom of buffer)
-when a new variable `scroll-error-top-bottom' is non-nil.
-
+when `scroll-error-top-bottom' is non-nil.
++++
+*** New variable `scroll-error-top-bottom' (see above).
++++
 *** New scrolling commands `scroll-up-line' and `scroll-down-line'
 scroll a line instead of full screen.
-
++++
 *** New property `scroll-command' should be set on a command's symbol to
 define it as a scroll command affected by `scroll-preserve-screen-position'.
-
 +++
 *** If you customize `scroll-conservatively' to a value greater than 100,
 Emacs will never recenter point in the window when it scrolls due to
 cursor motion commands or commands that move point (e.f., `M-g M-g').
 Previously, you needed to use `most-positive-fixnum' as the value of
 `scroll-conservatively' to achieve the same effect.
-
 ---
 *** ``Aggressive'' scrolling now honors the scroll margins.
 If you customize `scroll-up-aggressively' or
@@ -359,7 +369,6 @@ Affected modes include dired, vc-dir, and log-edit.  For example,
 adding "(diff-mode . ((mode . whitespace)))" to .dir-locals.el will
 turn on `whitespace-mode' for *vc-diff* buffers.  Modes should call
 `hack-dir-local-variables-non-file-buffer' to support this.
-
 +++
 *** Using "mode: MINOR-MODE" to enable a minor mode is deprecated.
 Instead, use "eval: (minor-mode 1)".
@@ -373,10 +382,56 @@ The elisp implementation sha1.el is removed. Feature sha1 is provided
 by default.
 
 ** Menu-bar changes
-
+---
 *** `menu-bar-select-buffer-function' lets you choose another operation
 instead of `switch-to-buffer' when selecting an item in the Buffers menu.
 
+** Window changes
+
++++
+*** Resizing an Emacs frame now preserves proportional window sizes,
+modulo restrictions like window minimum sizes and fixed-size windows.
+
+*** The behavior of `display-buffer' is now customizable in detail.
++++
+**** New option `display-buffer-base-action' specifies a list of
+user-determined display "actions" (functions and optional arguments
+for choosing the displaying window).
+
+This takes precedence over the default display action, which is
+specified by `display-buffer-fallback-action'.
+
++++
+**** New option `display-buffer-alist' maps buffer name regexps to
+display actions, taking precedence over `display-buffer-base-action'.
+
++++
+*** New option `window-combination-limit'.
+The new option `window-combination-limit' allows to return the space
+obtained for resizing or creating a window more reliably to the window
+from which such space was obtained.
+
++++
+*** New option `window-combination-resize'.
+The new option `window-combination-resize' allows to split a window that
+otherwise cannot be split because it's too small by stealing space from
+other windows in the same combination.  Subsequent resizing or deletion
+of the window will resize all windows in the same combination as well.
+
++++
+*** New commands `maximize-window' and `minimize-window'.
+These maximize and minimize the size of a window within its frame.
+
++++
+*** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'.
+These functions allow to navigate through the live buffers that have
+been shown in a specific window.
+
++++
+*** New functions `window-state-get' and `window-state-put'.
+These functions allow to save and restore the state of an arbitrary
+frame or window as an Elisp object.
+
 ** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
 This is handy for minibuffer-only frames, and is also used for the "mouse-1
 pops up *Messages*" feature, which can now easily be changed.
@@ -388,33 +443,36 @@ pops up *Messages*" feature, which can now easily be changed.
 +++
 *** C-y in Isearch is now bound to isearch-yank-kill, instead of
 isearch-yank-line.
----
++++
 *** M-y in Isearch is now bound to isearch-yank-pop, instead of
 isearch-yank-kill.
 +++
 *** M-s C-e in Isearch is now bound to isearch-yank-line.
 
 +++
-** New command `count-words-region'.  This does what you expect.
+** New commands `count-words-region' and `count-words'.
 
-** completion-at-point now handles tags and semantic completion.
+*** `count-lines-region' is now an alias for `count-words-region',
+bound to M-=, which shows the number of lines, words, and characters.
 
++++
 ** The default value of `backup-by-copying-when-mismatch' is now t.
 
-** The command `just-one-space' (C-SPC), if given a negative argument,
++++
+** The command `just-one-space' (M-SPC), if given a negative argument,
 also deletes newlines around point.
 
 ** Deletion changes
-
++++
 *** New option `delete-active-region'.
 If non-nil, [delete] and DEL delete the region if it is active and no
 prefix argument is given.  If set to `kill', these commands kill
 instead.
-
++++
 *** New command `delete-forward-char', bound to [delete].
 This is meant for interactive use, and obeys `delete-active-region'.
 The command `delete-char' does not obey `delete-active-region'.
-
+---
 *** `delete-backward-char' is now a Lisp function.
 Apart from obeying `delete-active-region', its behavior is unchanged.
 However, the byte compiler now warns if it is called from Lisp; you
@@ -483,22 +541,36 @@ between applications.
 *** X clipboard managers are now supported.
 To inhibit this, change `x-select-enable-clipboard-manager' to nil.
 
++++
 ** New command `rectangle-number-lines', bound to `C-x r N', numbers
-the lines in the current rectangle.  With an prefix argument, this
+the lines in the current rectangle.  With a prefix argument, this
 prompts for a number to count from and for a format string.
 
-** The command shell prompts for the shell path name, when the default
-directory is a remote file name and neither environment variable
-$ESHELL nor variable `explicit-shell-file-name' is set.
++++
+** The default value of redisplay-dont-pause is now t
+This makes Emacs feel more responsive to editing commands that arrive
+at high rate, e.g. if you lean on some key, because stopping redisplay
+in the middle (when this variable is nil) forces more expensive
+updates later on, and Emacs appears to be unable to keep up.
+
++++
+** The behavior of <TAB> for active regions in Text mode has changed.
+In Text and related modes, typing <TAB> (`indent-for-tab-command')
+when the region is active causes Emacs to indent all the lines in the
+region, aligning them with the line previous to the first line in the
+region (or with the left margin if there is no previous line).
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.1
 
++++
 ** Archive Mode has basic support for browsing and updating 7z archives.
 
++++
 ** browse-url has a new variable `browse-url-mailto-function'
 specifies how mailto: URLs are handled.  The default is `browse-url-mail'.
 
+---
 ** BibTeX mode
 
 *** BibTeX mode now supports biblatex.
@@ -554,7 +626,7 @@ view-diary-entries, list-diary-entries, show-all-diary-entries
 ** comint and modes derived from it use the generic completion code.
 
 ** Compilation mode
-
+---
 *** Compilation mode can be used without font-lock-mode.
 `compilation-parse-errors-function' is now obsolete.
 
@@ -562,6 +634,10 @@ view-diary-entries, list-diary-entries, show-all-diary-entries
 inserted by the compilation filter function, when calling
 compilation-filter-hook.
 
+*** `compilation-error-screen-columns' is obeyed in the editing buffer.
+So programming language modes can set it, whereas previously only the value
+in the *compilation* buffer was used.
+
 ** Customize
 
 *** Customize buffers now contain a search field.
@@ -589,7 +665,7 @@ The new function dbus-register-service registers a service known name
 on a D-Bus without simultaneously registering a property or a method.
 
 ** Dired-x
-
+---
 *** dired-jump and dired-jump-other-window called with a prefix argument
 read a file name from the minibuffer instead of using buffer-file-name.
 
@@ -617,7 +693,7 @@ utf-8, and do the normal `undecided' decoding for the rest.
 exists, that is used instead.
 
 ** gdb-mi
-
++++
 *** GDB User Interface migrated to GDB Machine Interface and now
 supports multithread non-stop debugging and debugging of several
 threads simultaneously.
@@ -643,9 +719,10 @@ handy if you have many manuals in many Info buffers, and don't
 remember the name of the buffer visiting the manual you want to
 consult.
 
++++
 ** The Landmark game is now invoked with `landmark', not `lm'.
 
-** MH-E has been upgraded to MH-E version 8.2.93.
+** MH-E has been upgraded to MH-E version 8.3.1.
 See MH-E-NEWS for details.
 
 ** Modula-2 mode provides auto-indentation.
@@ -661,8 +738,18 @@ more variants, including Mercury, and a lot more.
 *** The command `rmail-epa-decrypt' decrypts OpenPGP data
 in the Rmail incoming message.
 
-** shell-mode can track your cwd by reading it from your prompt.
-Just set shell-dir-cookie-re to an appropriate regexp.
+---
+*** The variable `rmail-message-filter' no longer has any effect.
+This change was made in Emacs 23.1 but was not advertised at the time.
+Try using `rmail-show-message-hook' instead.
+
+** Shell mode
++++
+*** Shell mode uses pcomplete rules, with the standard completion UI.
++++
+*** The `shell' command prompts for the shell path name if the default
+directory is a remote file name and neither the environment variable
+$ESHELL nor the variable `explicit-shell-file-name' is set.
 
 ---
 ** SQL Mode enhancements.
@@ -729,12 +816,12 @@ additional details about each column.
 *** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
 
 ** Tramp
-
+---
 *** There exists a new inline access method "ksu" (kerberized su).
-
+---
 *** The following access methods are discontinued: "ssh1_old",
 "ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish".
-
+---
 *** The option `ange-ftp-binary-file-name-regexp' has changed its
 default value to "".
 
@@ -743,25 +830,29 @@ controlling the degree of parallelism.
 
 ** VC and related modes
 
++++
 *** Support for pulling on distributed version control systems.
-The vc-pull command runs a "pull" operation, if it is supported.
-This updates the current branch from upstream.  A prefix argument
-means to prompt the user for specifics, e.g. a pull location.
+`C-x v +' (`vc-pull') runs a "pull" operation, if it is supported, to
+update the current branch and working tree.  A prefix argument means
+to prompt the user for specifics, e.g. a pull location.
 
 **** `vc-update' is now an alias for `vc-pull'.
 
 **** Currently supported by Bzr, Git, and Mercurial.
 
++++
 *** Support for merging on distributed version control systems.
-The vc-merge command now runs a "merge" operation, if it is supported.
-This merges another branch into the current one.  This command prompts
-the user for specifics, e.g. a merge source.
+The vc-merge command now runs a "merge" operation, if it is supported,
+to merge changes from another branch into the current one.  It prompts
+for specifics, e.g. a merge source.
 
 **** Currently supported for Bzr, Git, and Mercurial.
 
++++
 *** New option `vc-revert-show-diff' controls whether `vc-revert'
 shows a diff while querying the user.  It defaults to t.
 
++++
 *** Log entries in some Log View buffers can be toggled to display a
 longer description by typing RET (log-view-toggle-entry-display).
 In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
@@ -772,9 +863,19 @@ use this to display the full log entry for the revision at point.
 **** Packages using Log View mode can enable this functionality by
 binding `log-view-expanded-log-entry-function' to a suitable function.
 
++++
 *** New command `vc-ediff' allows visual comparison of two revisions
 of a file similar to `vc-diff', but using ediff backend.
 
++++
+*** The option `vc-initial-comment' was removed in Emacs 23.2, but
+this was not advertised at the time.
+
++++
+*** `vc-toggle-read-only' is an obsolete alias for `toggle-read-only'.
+Since Emacs 23, it has done the same thing as `toggle-read-only', but
+this was not advertised at the time.
+
 ** FIXME: xdg-open for browse-url and reportbug, 2010/08.
 
 ** Obsolete modes
@@ -799,13 +900,15 @@ They are superseded by shift-select-mode enabled by default in 23.1.
 ---
 *** `copyright-fix-years' can optionally convert consecutive years to ranges.
 
++++
 *** New command `nato-region' converts text to NATO phonetic alphabet.
 
 \f
 * New Modes and Packages in Emacs 24.1
 
++++
 ** Occur Edit mode applies edits made in *Occur* buffers to the
-original buffers.  It is bound to C-x C-q in Occur mode.
+original buffers.  It is bound to "e" in Occur mode.
 
 ** New global minor modes electric-pair-mode, electric-indent-mode,
 and electric-layout-mode.
@@ -881,6 +984,7 @@ variable `menu-bar-mode'/`tool-bar-mode' to determine whether to create
 a menu-bar or tool-bar, respectively.  If the alist entries are added,
 they override the value of `menu-bar-mode'/`tool-bar-mode'.
 
++++
 ** Regions created by mouse dragging are now normal active regions,
 similar to the ones created by shift-selection.  In previous Emacs
 versions, these regions were delineated by `mouse-drag-overlay', which
@@ -888,6 +992,9 @@ has now been removed.
 
 ** cl.el no longer provides `cl-19'.
 
+** The menu bar bindings's caches are not used any more.
+Use (where-is-internal <def> nil t) instead.
+
 ** The following obsolete functions and aliases were removed:
 comint-kill-output, decompose-composite-char, outline-visible,
 internal-find-face, internal-get-face, frame-update-faces,
@@ -951,13 +1058,96 @@ directionality are not known in advance, without disrupting the layout
 of the line.
 
 ** Window changes
-
++++
+*** Window tree functions are accessible in Elisp.
+Functions are provided to return the parent, siblings or child windows
+of any window including internal windows (windows not associated with a
+buffer) in the window tree.
++++
+**** New function `window-valid-p' gives non-nil for live and internal
+windows.
++++
+**** Window manipulation can deal with internal windows.
+Many window handling functions like `split-window', `delete-window', or
+`delete-other-windows' as well as the window resizing functions can now
+act on any window including internal ones.
++++
+*** window-total-height/-width vs window-body-height/-width.
+The function `window-height' has been renamed to `window-total-height'
+and `window-width' has been renamed to `window-body-width'.  The old
+names are provided as aliases.  Two new functions `window-total-width'
+and `window-body-height' are provided.
++++
+*** Window parameters specific to window handling functions.
+For each window you can specify a parameter to override the default
+behavior of a number of functions like `split-window', `delete-window'
+and `delete-other-windows'.  The variable `ignore-window-parameters'
+allows to ignore processing such parameters.
++++
+*** New semantics of third argument of `split-window'.
+The third argument of `split-window' has been renamed to SIDE and can be
+set to any of the values 'below, 'right, 'above, or 'left to make the
+new window appear on the corresponding side of the window that shall be
+split.  Any other value of SIDE will cause `split-window' to split the
+window into two side-by-side windows as before.
++++
+*** Window resizing functions.
+A new standard function for resizing windows called `window-resize' has
+been introduced.  This and all other functions for resizing windows no
+longer delete any windows when they become too small.
++++
+*** Deleting the selected window now selects the most recently selected
+live window on that frame instead.
++++
+*** `adjust-window-trailing-edge' adjustments.
+`adjust-window-trailing-edge' can now deal with fixed-size windows and
+is able to resize other windows if a window adjacent to the trailing
+edge cannot be shrunk any more.  This makes its behavior more similar to
+that of Emacs 21 without compromising, however, its inability to delete
+windows which was introduced in Emacs 22.
++++
+*** Window-local buffer lists.
+Windows now have local buffer lists.  This means that removing a buffer
+from display in a window will preferably show the buffer previously
+shown in that window with its previous window-start and window-point
+positions.  This also means that the same buffer may be automatically
+shown twice even if it already appears in another window.
++++
 *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW,
 which if non-nil requires the buffer to be displayed in the currently
 selected window, signaling an error otherwise.  If nil, another window
 can be used, e.g. if the selected one is strongly dedicated.
++++
+*** `split-window-vertically' and `split-window-horizontally' renamed
+to `split-window-below' and `split-window-right' respectively.
+The old names are kept as aliases.
++++
+*** Display actions
+
+**** The second arg to `display-buffer' and `pop-to-buffer' is now
+named ACTION, and takes a display action of the same form as
+`display-buffer-base-action' (see Changes, above).  A non-nil,
+non-list value is treated specially, as the old meaning.
+
+**** New variable `display-buffer-overriding-action'.
 
-*** FIXME: buffer-display-alist changes
+**** The procedure of `display-buffer' etc. to choose a window is
+determined by combining `display-buffer-overriding-action',
+`display-buffer-alist', the ACTION arg, `display-buffer-base-action',
+and `display-buffer-fallback-action'.  The second and fourth of these
+are user-customizable variables.
+
+See the docstring of `display-buffer' for details.
+
++++
+*** New behavior of `quit-window'.
+The behavior of `quit-window' has been changed in order to restore the
+state before the last buffer display operation in that window.
+
++++
+*** The new option `frame-auto-hide-function' lets you choose between
+iconifying or deleting a frame when burying a buffer shown in a dedicated
+frame or quitting a window showing a buffer in a frame of its own.
 
 ** Completion
 
@@ -979,6 +1169,14 @@ can specify various details of the data returned by `all-completions':
 - `display-sort-function' to specify how to sort entries in *Completions*.
 - `cycle-sort-function' to specify how to sort entries when cycling.
 
+*** minibuffer-local-filename-must-match-map is not used any more.
+Instead, the bindings in minibuffer-local-filename-completion-map are
+combined with minibuffer-local-must-match-map.
+
+*** New variable `completing-read-function' allows overriding the
+behavior of `completing-read'.
+
++++
 ** `glyphless-char-display' can now distinguish between graphical and
 text terminal display, via a char-table entry that is a cons cell.
 
@@ -992,7 +1190,13 @@ must also be supplied.
 ** pre/post-command-hook are not reset to nil upon error.
 Instead, the offending function is removed.
 
-** New low-level function run-hook-wrapped.
+** New hook types
+
+*** New function `run-hook-wrapped' for running an abnormal hook by
+passing the hook functions as arguments to a "wrapping" function.
++++
+*** New macro `with-wrapper-hook' for running an abnormal hook as a
+set of "wrapping" filters, similar to around advice.
 
 ** `server-eval-at' is provided to allow evaluating forms on different
 Emacs server instances.
@@ -1006,6 +1210,10 @@ Also the debugger can now "continue" from an error, which means it will jump
 to the error handler as if the debugger had not been invoked instead of
 jumping all the way to the top-level.
 
++++
+** The function format-time-string now supports the %N directive, for
+higher-resolution time stamps.
+
 ** New function `read-char-choice' reads a restricted set of characters,
 discarding any inputs not inside the set.
 
@@ -1031,15 +1239,22 @@ syntactic rules.
 
 ** frame-local variables cannot be let-bound any more.
 
+** Major and minor mode changes
 +++
-** prog-mode is a new major-mode meant to be the parent of programming mode.
-The prog-mode-hook it defines can be used to enable features for
-programming modes.  For example:
-(add-hook 'prog-mode-hook 'flyspell-prog-mode)
-enables on the fly spell checking for comments and strings for
-programming modes.
+*** `prog-mode' is a new major mode from which programming modes
+should be derived.
+
+**** `prog-mode-hook' can be used to enable features for programming
+modes, e.g. (add-hook 'prog-mode-hook 'flyspell-prog-mode) to enable
+on-the-fly spell checking for comments and strings.
+
+*** New hook `change-major-mode-after-body-hook', run by
+`run-mode-hooks' just before any other mode hooks.
 
-** define-minor-mode accepts a new keyword :variable.
+*** Enabled globalized minor modes can be disabled in specific modes,
+by running (FOO-mode-hook 0) via a mode hook.
+
+*** `define-minor-mode' accepts a new keyword :variable.
 
 +++
 ** `delete-file' and `delete-directory' now accept optional arg TRASH.
@@ -1049,7 +1264,7 @@ argument is supplied (see Trash changes, above).
 
 ** `facemenu-read-color' is now an alias for `read-color'.
 The command `read-color' now requires a match for a color name or RGB
-triplet, instead of signalling an error if the user provides a invalid
+triplet, instead of signaling an error if the user provides a invalid
 input.
 
 ** Tool-bars can display separators.
@@ -1097,6 +1312,8 @@ functions.  It's easiest to use these functions through
 STARTTLS opportunistically or use plain SSL, depending on your needs.
 
 Only versions 2.8.x and higher or GnuTLS have been tested.
+[FIXME: this statement needs clarifying, given that GnuTLS >= 2.6.6
+is the test used by configure.]
 
 *** gnutls-log-level
 Set `gnutls-log-level' higher than 0 to get debug output.  1 is for
@@ -1130,6 +1347,8 @@ as well as those in the -*- line.
 
 ** keymaps can inherit from multiple parents.
 
+** `debug-on-event' lets you debug Emacs when stuck because of inhibit-quit.
+
 +++
 ** New reader macro ## which stands for the empty symbol.
 This means that the empty symbol can now be read back.  Also, #: by itself
@@ -1144,6 +1363,8 @@ Use `filter-buffer-substring-functions' instead.
 *** `byte-compile-disable-print-circle' is obsolete.
 
 *** `deferred-action-list' and `deferred-action-function' are obsolete.
++++
+*** `font-lock-maximum-size' is obsolete.
 
 \f
 * Changes in Emacs 24.1 on non-free operating systems
@@ -1162,6 +1383,8 @@ with the USER_LIBS build variable.
 
 ** New make target `dist' to create binary distribution for MS Windows.
 
+** Function `w32-default-color-map' is now obsolete.
+
 ** On Nextstep/OSX, the menu bar can be hidden by customizing
 ns-auto-hide-menu-bar.