Add set operations for bool-vector.
[bpt/emacs.git] / etc / NEWS
index fd65bad..da17f5d 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -15,10 +15,10 @@ You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
 Temporary note:
-+++ indicates that the appropriate manual has already been updated.
---- means no change in the manuals is called for.
-When you add a new item, please add it without either +++ or ---
-so we will look at it and add it to the manual.
++++ indicates that all necessary updates to the manuals in doc/ are complete.
+--- means no change in the manuals is needed.
+When you add a new item, use the appropriate mark if you know it applies,
+otherwise leave it unmarked.
 
 \f
 * Installation Changes in Emacs 24.4
@@ -28,8 +28,36 @@ This happens by default if a suitable support library is found at
 build time, like libacl on GNU/Linux.  To prevent this, use the
 configure option `--disable-acl'.
 
+** Emacs can be compiled with file notification support.
+This happens by default if a suitable system library is found at
+build time.  To prevent this, use the configure option
+`--with-file-notification-no'.  See below for file-notify features.
+FIXME?  This feature is not available for the Nextstep port. (?)
+
+** The configure option `without-compress-info' has been generalized,
+and renamed to `without-compress-install'.  It now prevents compression
+of _any_ files during installation.
+
 ** The configure option --with-crt-dir has been removed.
-It is no longer needed, as the crt*.o files are no longer linked specially.
+It is no longer needed, as the crt*.o files are no longer linked
+specially.
+
+** Directories passed to configure option `--enable-locallisppath' are
+no longer created during installation.
+
+** Emacs can be compiled with zlib support.  If this library is present
+(which it normally is on most systems), the function
+`zlib-decompress-region' becomes available, which can decompress gzip-
+and zlib-format compressed data.
+
+---
+** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
+pkg-config is required to find ImageMagick libraries.
+
+** For OSX >= 10.5, the Core text based font backend from the Mac port is used.
+For GNUStep and OSX 10.4 the old backend is used.
+To use the old backend by default, do on the command line:
+% defaults write org.gnu.Emacs FontBackend ns
 
 \f
 * Startup Changes in Emacs 24.4
@@ -39,6 +67,10 @@ It is no longer needed, as the crt*.o files are no longer linked specially.
 
 ** Key ? also describes prefix bindings like C-h.
 
++++
+** `cache-long-line-scans' has been renamed to `cache-long-scans'
+because it affects caching of paragraph scanning results as well.
+
 +++
 ** `apropos-variable' is now `apropos-user-option'
 `apropos-user-option' shows all user options while `apropos-variable'
@@ -61,6 +93,18 @@ simply disabling Transient Mark mode does the same thing.
 ** `initial-buffer-choice' can now specify a function to set up the
 initial buffer.
 
+** The *Messages* buffer is created in a new major mode `messages-buffer-mode',
+and read-only.  Code that might create the *Messages* buffer should
+call the function `messages-buffer' to do so and set the mode.
+
+** `remember-notes' creates a buffer whose content is saved on kill-emacs.
+You may think of it as a *scratch* buffer whose content is preserved.
+In fact, it was designed as a replacement for *scratch* buffer and can
+be used that way by setting `initial-buffer-choice' to `remember-notes'
+and `remember-notes-buffer-name' to "*scratch*".  Without the second
+change, *scratch* buffer will still be there for notes that do not
+need to be preserved.
+
 ** `write-region-inhibit-fsync' now defaults to t in batch mode.
 
 ** ACL support has been added.
@@ -77,6 +121,9 @@ Available only on X, this option allows to control over-scrolling
 using the scroll bar (i.e. dragging the thumb down even when the end
 of the buffer is visible).
 
+** New function `add-face-text-property' has been added, which can be
+used to conveniently prepend/append new face attributes to text.
+
 ** In compiled Lisp files, the header no longer includes a timestamp.
 
 ** Multi-monitor support has been added.
@@ -85,6 +132,28 @@ of the buffer is visible).
 `frame-monitor-attributes' can be used to obtain information about
 each physical monitor on multi-monitor setups.
 
+*** The functions `display-pixel-width' and `display-pixel-height' now
+behave consistently among the platforms: they return the pixel width
+or height for all physical monitors associated with the given display
+as just they were on X11.  To get information for each physical
+monitor, use the new functions above.  Similar notes also apply to
+`x-display-pixel-width', `x-display-pixel-height', `display-mm-width',
+`display-mm-height', `x-display-mm-width', and `x-display-mm-height'.
+
+** New macro `alternatives-define' can be used to define generic commands.
+Generic commands are interactive functions whose implementation can be
+selected among several alternatives, as a matter of user preference.
+
+** The blink cursor stops blinking after 10 blinks (default) on X and NS.
+You can change the default by customizing the variable blink-cursor-blinks.
+Also timers for blinking are stopped when no blinking is done, so Emacs does
+not consume CPU cycles.
+
+** New command `frameset-to-register' is now bound to `C-x r f', replacing
+`frame-configuration-to-register'.  It offers similar functionality, plus
+some enhancements, like the ability to restore deleted frames.  Command
+`frame-configuration-to-register' is still available, but unbound.
+
 \f
 * Editing Changes in Emacs 24.4
 
@@ -99,6 +168,13 @@ bound to <f11> and M-<f10>, respectively.
 ** In keymaps where SPC scrolls, S-SPC now scrolls in the reverse direction.
 Eg View mode, etc.
 
++++
+** New option `visual-order-cursor-movement'.
+If this is non-nil, cursor motion with arrow keys will follow the
+visual order of characters on the screen: <left> always moves to the
+left, <right> always moves to the right, disregarding the surrounding
+bidirectional context.
+
 ** New command `kmacro-to-register' to store keyboard macros in registers.
 
 ** Shell Script mode
@@ -109,20 +185,35 @@ You can pick the name of the function and the variables with `C-x 4 a'.
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.4
 
+** The debugger's `e' command evaluates the code in the context at point.
+This includes using the lexical environment at point, which means that
+`e' now lets you access lexical variables as well.
+
+** `eshell' now supports visual subcommands and options
+Eshell has been able to handle "visual" commands (interactive,
+non-line oriented commands such as top that require display
+capabilities not provided by eshell) by running them in an Emacs
+terminal emulator.  See `eshell-visual-commands'.
+
+This feature has been extended to subcommands and options that make a
+usually line-oriented command a visual command.  Typical examples are
+"git log" and "git <command> --help" which display their output in a
+pager by default.  See `eshell-visual-subcommands' and
+`eshell-visual-options'.
+
+** If your Emacs is compiled with libxml2 support, you can use the new
+built-in web browser `eww'.
+
 ** `remember' can now store notes in separates files
 You can use the new function `remember-store-in-files' within the
 `remember-handler-functions' option.
 
 See `remember-data-directory' and `remember-directory-file-name-format'
 for new options related to this function.
-** `ido-decorations' has been slightly extended to give a bit more control.
 
 ** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.
 Affected files:
 ~/.emacs.d/timelog     replaces  ~/.timelog
-~/.emacs.d/todo-do     replaces  ~/.todo-do
-~/.emacs.d/todo-done   replaces  ~/.todo-done
-~/.emacs.d/todo-top    replaces  ~/.todo-top
 ~/.emacs.d/vip         replaces  ~/.vip
 ~/.emacs.d/viper       replaces  ~/.viper
 ~/.emacs.d/ido.last    replaces  ~/.ido.last
@@ -136,11 +227,16 @@ Affected files:
 ~/.emacs.d/strokes     replaces  ~/.strokes
 ~/.emacs.d/notes       replaces  ~/.notes
 ~/.emacs.d/type-break  replaces  ~/.type-break
+Also the following files used by the now obsolete otodo-mode.el:
+~/.emacs.d/todo-do     replaces  ~/.todo-do
+~/.emacs.d/todo-done   replaces  ~/.todo-done
+~/.emacs.d/todo-top    replaces  ~/.todo-top
+
 
 ** Delphi mode is now called OPascal mode.
 *** All delphi-* variables and functions have been renamed to opascal-*.
-*** `delphi-newline-always-indents' is not supported any more
-use `electric-indent-mode' instead.
+*** `delphi-newline-always-indents' is not supported any more.
+Use `electric-indent-mode' instead.
 *** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
 
 ** Eldoc Mode works properly in the minibuffer.
@@ -154,12 +250,41 @@ The default separator is changed to allow surrounding spaces around the comma.
 
 *** Battery information via the BSD `apm' utility is now supported.
 
+** Buffer Menu
+
+*** `M-s a C-o' shows lines matching a regexp in marked buffers using Occur.
+
 ** Calendar and Diary
 
+*** New faces: `calendar-weekday-header', `calendar-weekend-header',
+`calendar-month-header'.
+
+*** New option `calendar-day-header-array'.
+
+*** The variable `calendar-font-lock-keywords' is obsolete.
+
 +++
 *** New variable `diary-from-outlook-function', used by the command
 `diary-from-outlook'.
 
+** VC and related modes
+
+*** In VC directory mode, `D' displays diffs between VC-controlled
+whole tree revisions.
+
+*** In VC directory mode, `L' lists the change log for the current VC
+controlled tree in a window.
+
+*** In VC directory mode, `I' shows a log of changes that will be
+received with a pull operation.
+
+*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file
+under current version control system.  When called with a prefix
+argument, you can remove a file from the ignored file list.
+
+*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore'
+because it is moved to vc-cvs.el.
+
 ** cl-lib
 
 *** New macro cl-tagbody.
@@ -188,6 +313,11 @@ on the given date.
 *** `desktop-auto-save-timeout' defines the number of seconds between
 auto-saves of the desktop.
 
+*** `desktop-restore-frames', enabled by default, allows saving and
+restoring the frame/window configuration (frameset).  Additional options
+`desktop-restore-in-current-display', `desktop-restore-reuses-frames'
+and `desktop-restore-forces-onscreen' offer further customization.
+
 ** Dired
 
 *** New minor mode `dired-hide-details-mode' hides details.
@@ -198,13 +328,38 @@ auto-saves of the desktop.
 If set to a number, this can be used to avoid accidentally paste large
 amounts of data into the ERC input.
 
+** EPA
+
+*** New option `epa-mail-aliases'.
+
+You can set this to a list of alias expansions for keys to use
+in `epa-mail-encrypt'.
+
+If one element of the variable's value is ("foo@bar.com" "foo@hello.org"),
+that means: when one of the recipients of the message being encrypted
+is `foo@bar.com', encrypt the message for `foo@hello.org' instead.
+
+If one element of the variable's value is ("foo@bar.com"),
+that means: when one of the recipients of the message being encrypted
+is `foo@bar.com', ignore that name as regards encryption.
+This is useful to avoid a query when you have no key for that name.
+
 ---
 ** New F90 mode option `f90-smart-end-names'.
 
-** Icomplete is a bit more like IDO.
+** Icomplete is a bit more like Ido.
 *** key bindings to navigate through and select the completions.
 *** The icomplete-separator is customizable, and its default has changed.
 *** Removed icomplete-show-key-bindings.
+*** Icomplete-mode by defaults applies to all forms of minibuffer completion.
+(setq icomplete-with-completion-tables '(internal-complete-buffer))
+will revert to the old behavior.
+
+
+** Ido
+*** Ido has a manual now.
+*** `ido-use-virtual-buffers' takes a new value 'auto.
+*** `ido-decorations' has been slightly extended to give a bit more control.
 
 ** Image mode
 
@@ -216,6 +371,8 @@ directory, respectively.
 `f' (`image-next-frame') and `b' (`image-previous-frame') visit the
 next or previous frame.  `F' (`image-goto-frame') shows a specific frame.
 
+*** New commands to speed up, slow down, or reverse animation.
+
 ---
 *** The command `image-mode-fit-frame' deletes other windows.
 When toggling, it restores the frame's previous window configuration.
@@ -228,11 +385,48 @@ callers to fit the image to a frame other than the selected frame.
 entries displayed by `Info-index-next', `Info-virtual-index' and
 `info-apropos'.
 
-** Isearch
+** Hi-Lock
+
+*** New option `hi-lock-auto-select-face'.  When non-nil, hi-lock commands
+will cycle through faces in `hi-lock-face-defaults' without prompting.
+
++++
+*** New global command `M-s h .' (`highlight-symbol-at-point')
+highlights the symbol found near point without prompting,
+using the next face automatically.
+
+** Search and Replace
+
+*** New global command `M-s .' (`isearch-forward-symbol-at-point')
+starts a symbol (identifier) incremental search forward with the
+symbol found near point added to the search string initially.
 
 *** `C-x 8 RET' in Isearch mode reads a character by its Unicode name
 and adds it to the search string.
 
+*** `M-s i' in Isearch mode toggles the variable `isearch-invisible'
+between nil and the value of the option `search-invisible' (or `open'
+when it's nil).
+
+*** `query-replace' skips invisible text when `search-invisible' is nil,
+and opens overlays with hidden text when `search-invisible' is `open'.
+
++++
+*** By default, prefix arguments do not now terminate Isearch mode.
+Set `isearch-allow-prefix' to nil to restore old behavior.
+
+*** More Isearch commands accept prefix arguments, namely
+`isearch-printing-char', `isearch-quote-char', `isearch-yank-word',
+`isearch-yank-line'.
+
+*** Word search now matches whitespace at the beginning/end
+of the search string if it contains leading/trailing whitespace.
+In an incremental word search or when using a non-nil LAX argument
+of `word-search-regexp', the lax matching can also match part of
+the first word (in addition to the lax matching of the last word).
+The same rules are now applied to the symbol search with the difference
+that it matches symbols, and non-symbol characters between symbols.
+
 ** MH-E has been updated to MH-E version 8.5.
 See MH-E-NEWS for details.
 
@@ -256,18 +450,42 @@ New features include:
   name and arguments.  Useful to trace the value of (current-buffer) or
   (point) when the function is invoked.
 
-** New command `delete-duplicate-lines' has two types of operation:
-when its arg ADJACENT is non-nil (when called interactively with C-u C-u)
+** New command `delete-duplicate-lines' has new types of operation:
+When its arg ADJACENT is non-nil (when called interactively with C-u C-u)
 it works like the utility `uniq'.  Otherwise by default it deletes
 duplicate lines everywhere in the region without regard to adjacency.
+When its arg KEEP-BLANKS is non-nil (when called interactively with
+C-u C-u C-u), duplicate blank lines are preserved.
 
 ** New `cycle-spacing' command allows cycling between having just one
 space, no spaces, or reverting to the original spacing.  Like
 `just-one-space' command it can handle or ignore newlines and
 leave different number of spaces.
 
+** Todo mode has been rewritten and enhanced.
+New features include:
+- support for multiple todo files and archive files of done items;
+- renaming, reordering, moving, merging, and deleting categories;
+- sortable tabular summaries of categories and the types of items they contain;
+- cross-category lists of items filtered by specific criteria;
+- more fine-grained interaction with the Emacs diary, by being able to decide
+  for each todo item whether it appears in the Fancy Diary display;
+- highly flexible new item insertion and item editing;
+- moving items between categories, storing done items in their category or in
+  archive files, undoing or unarchiving done items;
+- reprioritizing items by inputting a numerical priority;
+- extensive customizability of operation and display, including numerous faces.
+The Todo mode user manual describes all commands and most user options.
+To support some of these features, a new file format is used, which is
+incompatible with the old format; however, you can convert old todo and done
+item files to the new format on initializing the first new todo file, or at any
+later time with the provided conversion command.  The old version of
+todo-mode.el has been made obsolete and renamed otodo-mode.el.
+
 ** Tramp
 
+*** The experimental url syntax for remote file names is withdrawn.
+
 +++
 *** New connection method "adb", which allows to access Android
 devices by the Android Debug Bridge.  The variable `tramp-adb-program'
@@ -282,24 +500,43 @@ when possible.
 *** Handlers for `file-acl' and `set-file-acl' for remote machines
 which support POSIX ACLs.
 
++++
+*** Handlers for `file-notify-add-watch' and `file-notify-rm-watch'
+for remote machines which support filesystem notifications.
+
+** VHDL mode
+
+*** New options: `vhdl-actual-generic-name', `vhdl-beautify-options'.
+
+*** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'.
+
 ** Woman
 
 *** The commands `woman-default-faces' and `woman-monochrome-faces'
-are obsolete.  Customize the `woman-* faces instead.
+are obsolete.  Customize the `woman-*' faces instead.
 
 ** Eshell
 
-*** Added Eshell-TRAMP module
+*** Added Eshell-Tramp module
 External su and sudo commands are now the default; the internal,
-TRAMP-using variants can still be used by enabling the eshell-tramp
+Tramp-using variants can still be used by enabling the eshell-tramp
 module.
 
+** New term.el option `term-suppress-hard-newline'.
+
 ** Obsolete packages:
 
 *** longlines.el is obsolete; use visual-line-mode instead.
 
++++
+*** sup-mouse.el.
+
 *** terminal.el is obsolete; use term.el instead.
 
+*** The previous version of todo-mode.el is obsolete and renamed otodo-mode.el.
+
+*** xesam.el.
+
 +++
 *** yow.el is obsolete; use fortune.el or cookie1.el instead.
 
@@ -307,8 +544,16 @@ module.
 *** The Info-edit command is obsolete.  Editing Info nodes by hand
 has not been relevant for some time.
 
+** Shell
+
+*** `explicit-bash-args' now always defaults to use --noediting.
+During initialization, Emacs no longer expends a process to decide
+whether it is safe to use Bash's --noediting option.  These days
+--noediting is ubiquitous; it was introduced in 1996 in Bash version 2.
+
 \f
 * New Modes and Packages in Emacs 24.4
+
 ** New `superword-mode' in subword.el
 `superword-mode' overrides the default word motion commands to treat
 symbol_words as a single word, similar to what `subword-mode' does and
@@ -321,9 +566,38 @@ It is layered as:
 - advice-add/advice-remove to add/remove a piece of advice on a named function,
   much like `defadvice' does.
 
+** New frameset.el package.
+It provides a set of operations to save a frameset (the state of all
+or a subset of the existing frames and windows, somewhat similar to a
+frame configuration), both in-session and persistently, and restore it
+at some point in the future.
+
++++
+** The package filenotify.el provides an interface for file system
+notifications.  It requires, that Emacs is compiled with one of the
+low-level libraries gfilenotify.c, inotify.c or w32notify.c.
+
 \f
 * Incompatible Lisp Changes in Emacs 24.4
 
+** `defvar' and `defcustom' in a let-binding affect the "external" default.
+
+** The syntax of ?» and ?« is now punctuation instead of matched parens.
+Some languages match those as »...« and others as «...» so better stay neutral.
+
+** The default file coding for Emacs Lisp files is now utf-8.
+(See file-coding-system-alist.)  In most cases, this change is transparent, but
+files that contain unusual characters without specifying an explicit coding
+system may fail to load with obscure errors.
+You should either convert them to utf-8 or add an explicit `coding:' cookie.
+
+** overriding-terminal-local-map does not replace the local keymaps any more.
+It used to disable the minor mode, major mode, and text-property keymaps,
+whereas now it simply has higher precedence.
+
+** Default process filters and sentinels are not nil any more.
+Instead they default to a function which does what the nil value used to do.
+
 ** `read-event' does not return decoded chars in ttys any more.
 Just as was the case in Emacs-22 and before, decoding of tty input according to
 keyboard-coding-system is not performed in read-event any more.  But contrary
@@ -352,14 +626,50 @@ alist of extended attributes as returned by the new function
 `file-extended-attributes'.  The attributes can be applied to another
 file using `set-file-extended-attributes'.
 
+** `visited-file-modtime' now returns -1 for nonexistent files.
+Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous
+in the presence of files with negative time stamps.
+
+** The cars of the elements in `interpreter-mode-alist' are now treated
+as regexps rather than literal strings.  Technically this is an
+incompatible change, but unless you are using interpreter-mode-alist
+for something (not just adding elements to it), it ought not to affect you.
+
 \f
 * Lisp Changes in Emacs 24.4
 
+** New bool-vector set operation functions:
+*** `bool-vector-exclusive-or'
+*** `bool-vector-union'
+*** `bool-vector-intersection'
+*** `bool-vector-set-difference'
+*** `bool-vector-not'
+*** `bool-vector-subset'
+*** `bool-vector-count-matches'
+*** `bool-vector-count-matches-at'
+
+** Comparison functions =, <, >, <=, >= now take many arguments.
+
+** The second argument of `eval' can now be a lexical-environment.
+
+** `with-demoted-errors' takes an additional argument `format'.
++++
+** New function `define-error'.
+
+** New hook `tty-setup-hook'.
+
++++
+** New macro with-eval-after-load.  Like eval-after-load, but better behaved.
+
 ** Obsoleted functions:
+*** `log10'
 *** `dont-compile'
 *** `lisp-complete-symbol'
 *** `field-complete'
 *** `minibuffer-completion-contents'
+*** `isearch-nonincremental-exit-minibuffer'
+*** `isearch-filter-visible'
+*** `generic-make-keywords-list'
 
 ** `with-wrapper-hook' is obsoleted by `add-function'.
 The few hooks that used with-wrapper-hook are replaced as follows:
@@ -367,14 +677,18 @@ The few hooks that used with-wrapper-hook are replaced as follows:
 *** `completion-in-region-function' obsoletes `completion-in-region-functions'.
 *** `filter-buffer-substring-function' obsoletes `filter-buffer-substring-functions'.
 
+** `split-string' now takes an optional argument TRIM.
+The value, if non-nil, is a regexp that specifies what to trim from
+the start and end of each substring.
 
 ** `get-upcase-table' is obsoleted by the new `case-table-get-table'.
 
 ** Support for filesystem notifications.
 Emacs now supports notifications of filesystem changes, such as
 creation, modification, and deletion of files.  This requires the
-'inotify' API on GNU/Linux systems.  On MS-Windows systems, this is
-supported for Windows XP and newer versions.
+`glib' API, or the 'inotify' API (on GNU/Linux systems only).  On
+MS-Windows systems, this is supported for Windows XP and newer
+versions.
 
 ** Changes in autorevert.el
 
@@ -392,7 +706,7 @@ of remote files when set to non-nil.
 
 ** Face changes
 
-*** The `face-spec-set' is now analogous to `setq' for face specs.
+*** The function `face-spec-set' is now analogous to `setq' for face specs.
 Its third arg now accepts values specifying exactly which face spec to
 set (defface, custom, or user spec), and it directly sets the relevant
 property using the supplied face spec.
@@ -418,8 +732,42 @@ Emacs uses `image-default-frame-delay'.
 *** New functions `image-current-frame' and `image-show-frame' for getting
 and setting the current frame of a multi-frame image.
 
+*** You can change the speed of animated images.
+
+** Changes in encoding and decoding of text
+
+---
+*** New coding-system `prefer-utf-8'.
+This is like `undecided' but prefers UTF-8 on decoding if the text to
+be decoded does not contain any invalid UTF-8 sequences.  On encoding,
+any non-ASCII characters are automatically encoded as UTF-8.
+
+---
+*** New attributes of coding-systems whose type is `undecided'.
+Two new attributes, `:inhibit-null-byte-detection' and
+`:inhibit-iso-escape-detection', determine how to detect encoding of
+text that includes null bytes and ISO-2022 escape sequences,
+respectively.  Each of these attributes can be either nil, zero, or
+t.  If it is t, decoding text ignores null bytes and, respectively,
+ISO-2022 sequences.  If it is nil, null bytes cause text to be decoded
+with no-conversion and ISO-2022 sequences cause Emacs to assume the
+text is encoded in one of the ISO-2022 encodings, such as
+iso-2022-7bit.  If the value is zero, Emacs consults the variables
+inhibit-null-byte-detection and inhibit-iso-escape-detection, which
+see.
+The new attribute `:prefer-utf-8', if non-nil, causes Emacs to prefer
+UTF-8 encoding and decoding, whenever possible.
+
+These attributes are only meaningful for coding-systems of type
+`undecided'.  (The type of a coding-system is determined by its
+`:coding-type' attribute and can be accessed by calling the
+`coding-system-type' function.)
+
+** The function `set-visited-file-modtime' now accepts a 0 or -1 argument
+with the same interpretation as the returned value of `visited-file-modtime'.
+
 ** time-to-seconds is not obsolete any more.
-** New function special-form-p.
+** New functions special-form-p and macrop.
 ** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
 text-property on the first char.
 
@@ -452,6 +800,11 @@ used in place of the 9th element of `file-attributes'.
 `preserve-extended-attributes' as it now handles both SELinux context
 and ACL entries.
 
+** The `common-substring' argument of display-completion-list is obsolete.
+Either use `completion-all-completions' which already returns highlighted
+strings (including for partial or substring completion) or call
+`completion-hilit-commonality' to add the highlight.
+
 ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4
 
 *** The package descriptor and name of global variables, constants,
@@ -461,6 +814,23 @@ meant to be used by other packages.
 \f
 * Changes in Emacs 24.4 on Non-Free Operating Systems
 
+** The procedure for building Emacs on MS-Windows has changed.
+It is now built by running the same configure script as on all other
+platforms.  This requires the MSYS environment and MinGW development
+tools.  See the updated instructions in nt/INSTALL for details.
+
+Using the Posix configure script and Makefile's also means a change in
+the directory structure of the Emacs installation on Windows.  It is
+now the same as on GNU and Unix systems.  In particular, the auxiliary
+programs, such as cmdproxy.exe and hexl.exe, are in
+libexec/emacs/VERSION/i686-pc-mingw32 (where VERSION is the Emacs
+version), version-independent site-lisp is in share/emacs/site-lisp,
+version-specific Lisp files are in share/emacs/VERSION/lisp and in
+share/emacs/VERSION/site-lisp, Info docs are in share/info, and data
+files are in share/emacs/VERSION/etc.  (Emacs knows about all these
+directories and will find the files in there automatically; there's no
+need to set any variables due to this change.)
+
 +++
 ** 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
@@ -577,6 +947,13 @@ ImageMagick types are treated as images.  The function
 `imagemagick-filter-types' returns the list of types that will be
 treated as images.
 
+*** ImageMagick images now support the :max-width and :max-height
+keywords.
+
+*** Some data types aren't auto-detected by ImageMagick.  Adding
+:format to `create-image' may help if the content type is in the
+new variable `image-format-suffixes'.
+
 ** Minibuffer
 
 *** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
@@ -866,7 +1243,7 @@ file at point.
 `DEL' (`dired-unmark-backward'), and `d' (`dired-flag-file-deletion')
 mark/unmark/flag all files in the active region.
 
-*** The minibuffer default for `=' (`dired-diff) has changed.
+*** The minibuffer default for `=' (`dired-diff') has changed.
 It is now the backup file for the file at point, if one exists.
 In Transient Mark mode the default is the file at the active mark.
 
@@ -1070,6 +1447,9 @@ and the `attributes' slot is always nil.
 The `url-retrieve' function now uses this to encode its URL argument,
 in case that is not properly encoded.
 
+*** New command `url-cookie-list' displays all the current cookies, and
+allows deleting selected cookies.
+
 ** notifications.el supports now version 1.2 of the Notifications API.
 The function `notifications-get-capabilities' returns the supported
 server properties.
@@ -2756,6 +3136,11 @@ should be derived.
 modes, e.g. (add-hook 'prog-mode-hook 'flyspell-prog-mode) to enable
 on-the-fly spell checking for comments and strings.
 
+**** New minor modes `prettify-symbols-mode' and
+`global-prettify-symbols-mode' let the user enable symbol
+prettification (replacing a string like "lambda" with the Greek lambda
+character).
+
 *** New hook `change-major-mode-after-body-hook', run by
 `run-mode-hooks' just before any other mode hooks.