* etc/NEWS: Mention register-read-with-preview.
[bpt/emacs.git] / etc / NEWS
index 374f313..21480b0 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2010-2013 Free Software Foundation, Inc.
+Copyright (C) 2010-2014 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -15,9 +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 all necessary updates to the manuals in doc/ are complete.
++++ indicates that all necessary documentation updates are complete.
+    (This means all relevant manuals in doc/ AND lisp doc-strings.)
 --- means no change in the manuals is needed.
-When you add a new item, use the appropriate mark if you know it applies,
+When you add a new item, use the appropriate mark if you are sure it applies,
 otherwise leave it unmarked.
 
 \f
@@ -34,14 +35,16 @@ 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.
 
@@ -51,13 +54,8 @@ 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
+** Emacs for NS (Mac OS X, GNUstep) can be built with ImageMagick support.
+This requires pkg-config to be available at configure time.
 
 \f
 * Startup Changes in Emacs 24.4
@@ -90,6 +88,12 @@ to set up the initial buffer.
 \f
 * Changes in Emacs 24.4
 
++++
+** New option `gnutls-verify-error', if non-nil, means that Emacs
+should reject SSL/TLS certificates that GnuTLS determines as invalid.
+(This option defaults to nil at present, but this is expected to change
+in a future release.)
+
 +++
 ** Emacs now supports menus on text-mode terminals.
 If the terminal supports a mouse, clicking on the menu bar, or on
@@ -130,7 +134,7 @@ 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
+as if 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'.
@@ -155,8 +159,27 @@ non-nil, they output the same results.
 +++
 *** The key `?' now describes prefix bindings, like `C-h'.
 
-*** The command `quail-help' is deleted.  Use `C-h C-\'
-(`describe-input-method') instead.
+*** The command `describe-function' has been extended for EIEIO.
+Running it on constructors will show a full description of the
+generated class.  For generic functions, it will show all
+implementations together with links to the source.  The old commands
+`describe-class', `describe-constructor' and `describe-generic' were
+removed.
+
+---
+*** The function `quail-help' is no longer an interactive command.
+Use `C-h C-\' (`describe-input-method') instead.
+
+** ImageMagick
+
++++
+*** ImageMagick images now support the :max-width and :max-height keywords.
+
++++
+*** When using `create-image' with image data, you can pass a :format
+attribute (via the property-list argument) in order to help
+ImageMagick detect the image type.  The value should be a MIME
+content-type that is found in the new variable `image-format-suffixes'.
 
 ** Frame and window changes
 
@@ -190,11 +213,16 @@ of the buffer is visible).
 *** `eval-defun' on an already defined defcustom calls the :set function,
 if there is one.
 
-*** A zero prefix arg of `eval-last-sexp' (`C-x C-e'),
-`eval-expression' (`M-:') and `eval-print-last-sexp' (`C-j') inserts
-a list with no limit on its length and level (by using nil values of
-`print-length' and `print-level'), and inserts additional formats for
-integers (octal, hexadecimal, and character).
++++
+*** The commands `eval-expression' (`M-:'), `eval-last-sexp' (`C-x C-e'),
+and `eval-print-last-sexp' (`C-j' in Lisp Interaction mode) can take a
+zero prefix argument.  This disables truncation of lists in the output,
+equivalent to setting `(eval-expression-)print-length' and
+`(eval-expression-)print-level' to nil.  Additionally, it causes integers
+to be printed in other formats (octal, hexadecimal, and character).
+
+*** New hook `eval-expression-minibuffer-setup-hook' run by
+`eval-expression' on entering the minibuffer.
 
 ---
 ** `write-region-inhibit-fsync' now defaults to t in batch mode.
@@ -202,15 +230,33 @@ integers (octal, hexadecimal, and character).
 +++
 ** `cache-long-line-scans' has been renamed to `cache-long-scans'
 because it affects caching of paragraph scanning results as well.
+Also, it is now enabled by default.
 
 ---
 ** The option `set-mark-default-inactive' has been deleted.
 This unfinished feature was introduced by accident in Emacs 23.1;
 simply disabling Transient Mark mode does the same thing.
 
-** The default value of `comment-use-global-state' is changed to t,
+** The default value of `comment-use-global-state' is now t,
 and this variable has been marked obsolete.
 
+---
+** `emacs-bzr-version' has been renamed to `emacs-repository-version',
+and works for git too, if you fetch the repository notes.
+
+** `read-regexp-defaults-function' defines a function to provide default
+values for reading regexps by commands like `rgrep', `lgrep' `occur',
+`highlight-regexp', etc.  You can customize this to specify a function
+that provides a default value from the regexp last history element,
+or from the symbol found at point.
+
++++
+** New option `load-prefer-newer' affects how the `load' function chooses
+the file to load.  If this is non-nil, then when both .el and .elc
+versions of a file exist, and the caller did not explicitly specify
+which one to load, then the newer file is loaded.  The default, nil,
+means to always load the .elc file.
+
 \f
 * Editing Changes in Emacs 24.4
 
@@ -223,28 +269,25 @@ mode in which typing <left>, <right>, <S-left>, and <S-right> adjusts
 the text indentation in the region.  Typing any other key resumes
 normal editing behavior.
 
-+++
 *** `electric-indent-mode' is enabled by default.
 
++++
 *** `tab-stop-list' is now implicitly extended to infinity by repeating
-the last step.  Its default value is changed to nil which means a tab
+the last step.  Its default value is changed to nil, which means a tab
 stop every `tab-width' columns.
 
-** Filling changes
-
-*** New command `cycle-spacing' cycles between spacing conventions:
-having just one space, no spaces, or reverting to the original
-spacing.  Like `just-one-space', it can handle or ignore newlines and
-leave different number of spaces.
-
-*** `fill-single-char-nobreak-p' prevents fill from breaking a line after
-a 1-letter word, which is an error according to Polish and
-Czech typography rules.  To globally enable this feature, evaluate:
++++
+** New command `cycle-spacing' acts like a smarter `just-one-space'.
+When called in succession, it cycles between spacing conventions:
+one space, no spaces, original spacing.
 
-  (add-hook 'fill-nobreak-predicate 'fill-single-char-nobreak-p)
++++
+** The new function `fill-single-char-nobreak-p' can stop fill from breaking
+a line after a one-letter word, which is an error in some typographical
+conventions.  To use it, add it to the `fill-nobreak-predicate' hook.
 
 +++
-** Uniquify is enabled by default with `post-forward-angle-brackets' style.
+** Uniquify is enabled by default, with `post-forward-angle-brackets' style.
 
 ** New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region.
 Most commands are still unaware of it, but kill/yank do work on the rectangle.
@@ -258,7 +301,12 @@ bidirectional context.
 
 ** Register changes
 
-*** All register commands can now show help with preview.
++++
+*** All interactive commands that read a register (`copy-to-register', etc.)
+now display a temporary window after `register-preview-delay' seconds
+that summarizes existing registers.  To disable this, set that option to nil.
+Interactive commands that read registers and want to make use of this
+should use `register-read-with-preview' to read register names.
 
 +++
 *** New command `C-x C-k x' (`kmacro-to-register') stores keyboard
@@ -267,16 +315,15 @@ macros in registers.
 *** New command `C-x r f' (`frameset-to-register').
 See Changes in Emacs 24.4, above.
 
++++
 ** New command `delete-duplicate-lines'.
-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.
+This searches the region for identical lines, and removes all but one
+copy of each repeated line.  The lines need not be sorted.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 24.4
 
++++
 ** More packages look for ~/.emacs.d/<foo> additionally to ~/.<foo>.
 Affected files:
 ~/.emacs.d/timelog     replaces  ~/.timelog
@@ -285,7 +332,7 @@ Affected files:
 ~/.emacs.d/ido.last    replaces  ~/.ido.last
 ~/.emacs.d/kkcrc       replaces  ~/.kkcrc
 ~/.emacs.d/quickurls   replaces  ~/.quickurls
-~/.emacs.d/idlwave     replaces  ~/.idlwave
+~/.emacs.d/idlwave/    replaces  ~/.idlwave/
 ~/.emacs.d/bdfcache.el replaces  ~/.bdfcache.el
 ~/.emacs.d/places      replaces  ~/.emacs-places
 ~/.emacs.d/shadows     replaces  ~/.shadows
@@ -310,14 +357,11 @@ you access lexical variables.
 *** New minor mode `jit-lock-debug-mode' lets you use the debuggers on
 code run via JIT Lock.
 
-** Battery
-
 ---
-*** Battery information via the BSD `apm' utility is now supported.
-
-** Buffer Menu
+** Battery information can now be retrieved from BSD's `apm' utility.
 
-*** `M-s a C-o' shows lines matching a regexp in marked buffers using Occur.
+---
+** In the Buffer Menu, `M-s a C-o' shows matches for a regexp in marked buffers.
 
 ** Calendar and Diary
 
@@ -325,28 +369,30 @@ code run via JIT Lock.
 *** New faces `calendar-weekday-header', `calendar-weekend-header',
 and `calendar-month-header'.
 
++++
 *** New option `calendar-day-header-array'.
 
 +++
 *** New variable `diary-from-outlook-function', used by the command
 `diary-from-outlook'.
 
+---
 *** The variable `calendar-font-lock-keywords' is obsolete.
 
 ** Calc
 
++++
 *** Calc by default now uses the Gregorian calendar for all dates, and
 uses January 1, 1 AD as its day number 1.  Previously Calc used the
 Julian calendar for dates before September 14, 1752, and it used
 December 31, 1 BC as its day number 1; the new scheme is more
 consistent with Calendar's calendrical system and day numbering.
 
-*** The new variable `calc-gregorian-switch' lets you configure the
-date when Calc switches from the Julian to the Gregorian calendar.
-Nil, the default value, means to always use the Gregorian calendar.
-The value (YEAR MONTH DAY) means to start using the Gregorian calendar
-on the given date.
++++
+*** The new option `calc-gregorian-switch' lets you configure if
+(and when) Calc switches from the Julian to the Gregorian calendar.
 
++++
 *** Support for ISO 8601 dates.
 
 ** CEDET
@@ -366,13 +412,13 @@ target architecture auto-detection.
 **** Improved detection of used namespaces in current scope in C++.
 
 **** Parsing of default values for variables and function arguments in C/C++.
-They are also displayed by the summarize feature in the modeline.
+They are also displayed by the summarize feature in the mode line.
 
 **** Improved parsing of function pointers in C/C++.
 This also includes parsing of function pointers as function arguments.
 
-**** Parsing of C/C++ preprocessor macros which open new scope.
-For example, this enables parsing of macros which open new namespaces.
+**** Parsing of C/C++ preprocessor macros that open new scope.
+For example, this enables parsing of macros that open new namespaces.
 
 **** Support for 'this' pointer in inline member functions in C++.
 
@@ -385,15 +431,28 @@ For example, this enables parsing of macros which open new namespaces.
 
 ** CUA mode
 
-*** CUA mode was changed to make use of delete-selection-mode and
-shift-select-mode.  So you can now enable it independently from
-transient-mark-mode, delete-selection-mode, and shift-select-mode.
-As a result, cua-highlight-region-shift-only is obsolete
-(you can disable transient-mark-mode to get the same result).
+*** CUA mode now uses `delete-selection-mode' and `shift-select-mode'.
+Hence, you can now enable it independently from those modes, and from
+`transient-mark-mode'.
+
+---
+*** `cua-highlight-region-shift-only' is now obsolete.
+You can disable `transient-mark-mode' to get the same result.
 
 *** CUA's rectangles can now be used via `cua-rectangle-mark-mode'.
 
-** Delete Selection mode can now be used without `transient-mark-mode'.
+** CFEngine mode
+
+---
+*** Support for completion, ElDoc, and Flycheck has been added.
+
+---
+*** The current CFEngine syntax is parsed from "cf-promises -s json".
+There is a fallback syntax available if you don't have cf-promises or
+if your version doesn't support that option.  See option `cfengine-cf-promises'.
+
+---
+** Delete Selection mode can now be used without Transient Mark mode.
 
 ** Desktop
 
@@ -405,16 +464,46 @@ 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 Dired minor mode `dired-hide-details-mode' toggles whether details,
+such as file ownership or permissions, are visible.
+
+---
+** You can enable ElDoc inside the `eval-expression' minibuffer with:
+  (add-hook 'eval-expression-minibuffer-setup-hook 'eldoc-mode)
+The results display in the mode line.
 
-*** New minor mode `dired-hide-details-mode' hides details.
+** Electric Pair mode
 
-** Eldoc Mode works properly in the minibuffer.
+*** New option `electric-pair-preserve-balance', enabled by default.
+If non-nil, pairing/skipping only kicks in when that help the balance
+of parentheses and quotes, i.e. the buffer should end up at least as
+balanced as before.
 
-** EPA
+You can further control this behavior by adjusting the predicates
+stored in `electric-pair-inhibit-predicate' and `electric-pair-skip-self'.
 
-*** New option `epa-mail-aliases'.
+*** New option `electric-pair-delete-adjacent-pairs', enabled by default.
+In `electric-pair-mode', the commands `backward-delete-char' and
+`backward-delete-char-untabify' are now bound to electric variants
+that delete the closer when invoked between adjacent pairs.
 
+*** New option `electric-pair-open-newline-between-pairs', enabled by default.
+In `electric-pair-mode', inserting a newline between adjacent pairs
+opens an extra newline after point, which is indented if
+`electric-indent-mode' is also set.
+
+*** New option `electric-pair-skip-whitespace', enabled by default.
+This controls if skipping over closing delimiters should jump over any
+whitespace slack.  Setting it to `chomp' makes it delete this
+whitespace.  See also the variable `electric-pair-skip-whitespace-chars'.
+
+*** New variables control the pairing in strings and comments.
+You can customize `electric-pair-text-pairs' and
+`electric-pair-text-syntax-table' to tweak pairing behavior inside
+strings and comments.
+
+** New EPA option `epa-mail-aliases'.
 You can set this to a list of alias expansions for keys to use
 in `epa-mail-encrypt'.
 
@@ -427,22 +516,19 @@ 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.
 
-** ERC
-
-*** New option `erc-accidental-paste-threshold-seconds'.
-If set to a number, this can be used to avoid accidentally paste large
+---
+** New ERC option `erc-accidental-paste-threshold-seconds'.
+If set to a number, this can be used to avoid accidentally pasting large
 amounts of data into the ERC input.
 
 +++
-** ERT
-
-*** New macro `skip-unless' allows skipping ERT tests.
+** New ERT macro `skip-unless' allows skipping ERT tests.
 See the ERT manual for details.
 
 ** Eshell
 
 +++
-*** `eshell' now supports visual subcommands and options
+*** `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
@@ -450,27 +536,26 @@ 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
+"git log" and "git <command> --help", which display their output in a
 pager by default.  See `eshell-visual-subcommands' and
 `eshell-visual-options'.
 
 ---
-*** Added Eshell-Tramp module
+*** New 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
 module.
 
-** F90 mode
 ---
-*** New option `f90-smart-end-names'.
+** New F90 mode option `f90-smart-end-names'.
 
 ** Icomplete is a bit more like Ido.
 
-*** key bindings to navigate through and select the completions.
+*** Key bindings to navigate through and select the completions.
 
 *** The icomplete-separator is customizable, and its default has changed.
 
-*** Removed icomplete-show-key-bindings.
+*** Removed `icomplete-show-key-bindings'.
 
 *** Icomplete-mode by defaults applies to all forms of minibuffer completion.
 (setq icomplete-with-completion-tables '(internal-complete-buffer))
@@ -478,11 +563,17 @@ will revert to the old behavior.
 
 ** Ido
 
-*** Ido has a manual now.
++++
+*** An Ido user manual is now included.
 
-*** `ido-use-virtual-buffers' takes a new value 'auto.
+---
+*** The option `ido-use-virtual-buffers' can now take the value `auto'.
+This means to use virtual buffers if the current ido input does not match
+an existing buffer.
 
-*** `ido-decorations' has been slightly extended to give a bit more control.
+---
+*** The variable `ido-decorations' can optionally have two new elements,
+which are the brackets to use around the sole remaining completion.
 
 ** Image mode
 
@@ -491,11 +582,17 @@ will revert to the old behavior.
 visit the next image file and the previous image file in the same
 directory, respectively.
 
++++
 *** New commands to show specific frames of multi-frame images.
 `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.
+`a +' (`image-increase-speed') and `a -' (`image-decrease-speed') to
+speed up and slow down the animation.  `a r' (`image-reverse-speed')
+to reverse it and `a 0' (`image-reset-speed') to reset it.
+
 ---
 *** The command `image-mode-fit-frame' deletes other windows.
 When toggling, it restores the frame's previous window configuration.
@@ -512,45 +609,55 @@ will cycle through faces in `hi-lock-face-defaults' without prompting.
 highlights the symbol found near point without prompting,
 using the next face automatically.
 
-** Imenu
+** New Imenu option `imenu-generic-skip-comments-and-strings'.
 
-*** New option `imenu-generic-skip-comments-and-strings'.
-
-** Info
-
-*** New face `info-index-match' is used to highlight matches in index
+---
+** New Info face `info-index-match', used to highlight matches in index
 entries displayed by `Info-index-next', `Info-virtual-index' and
 `info-apropos'.
 
 ** JS Mode
 
+---
+*** New option `js-switch-indent-offset'.
+
+---
 *** Better indentation of multiple-variable declarations.
-If declaration spans several lines, variables on the following lines
+If declaration spans several lines, variables on the following lines
 are lined up to the first one.
 
-*** We now recognize and better indent continuations in array
-comprehensions.
-
-*** New option `js-switch-indent-offset`.
+---
+*** Recognition and better indentation of continuations in array comprehensions.
 
-** MH-E has been updated to MH-E version 8.5.
-See MH-E-NEWS for details.
++++
+** MH-E has been updated to version 8.5 - see separate MH-E-NEWS file.
 
 +++
 ** Octave mode
-*** Font locking for texinfo comments and new keywords
-*** Completion in Octave file buffers
-*** Eldoc support
-*** Jump to definition
-*** Documentation lookup/search
-*** Code cleanup and various bug fixes
 
-** OPascal mode is the new name for Delphi mode.
+*** Font locking for texinfo comments and new keywords.
+
+*** Completion in Octave file buffers.
+
+*** ElDoc support.
+
+*** Jump to definition.
+
+*** Documentation lookup/search.
+
++++
+** OPascal mode is the new name for Delphi mode
 
+---
 *** All delphi-* variables and functions have been renamed to opascal-*.
-*** `delphi-newline-always-indents' is not supported any more.
+Obsolete aliases exist for those likely to have been used externally.
+
+---
+*** The option `delphi-newline-always-indents' has been removed.
 Use `electric-indent-mode' instead.
-*** `delphi-tab' is gone, replaced by `indent-for-tab-command'.
+
+---
+*** The TAB key runs the standard `indent-for-tab-command', not `delphi-tab'.
 
 ** Package
 
@@ -561,29 +668,32 @@ vectors, containing an associative list with extra properties.
 *** `describe-package' buffer uses the `:url' extra property to
 display a `Homepage' header, if it's present.
 
-** Prolog mode
+*** In the buffer produced by `describe-package', there are now buttons
+listing the keywords related to that package.  You can click on them
+to see other packages related to any given keyword.
 
-*** `prolog-use-smie' has been removed, along with the non-SMIE
-indentation code.
+*** In the *Packages* buffer, `f' or the Package->Filter menu filters
+the packages by a keyword.
 
-** Remember
+---
+** In Prolog mode, `prolog-use-smie' has been removed,
+along with the non-SMIE indentation code.
 
-*** The new command `remember-notes' creates a buffer which is saved
-on `kill-emacs'.
+** Remember
 
-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
+*** The new command `remember-notes' creates a buffer that is saved on
+`kill-emacs'.  You can 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.
+Without the second change, the *scratch* buffer will still be there
+for notes that do not need to be preserved.
 
 *** The Remember package 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.
+`remember-handler-functions' option.  See `remember-data-directory'
+and `remember-directory-file-name-format' for new options related to
+this function.
 
 ** Rmail
 
@@ -596,19 +706,26 @@ rather than mboxo.  Customize `unrmail-mbox-format' to change this.
 
 ** Ruby mode
 
-*** New option `ruby-encoding-magic-comment-style'.
-
-*** New option `ruby-custom-encoding-magic-comment-template'.
+---
+*** Improved syntax highlighting and indentation.
 
-*** New mode menu.
+---
+*** New `electric-indent-mode' integration.
 
-*** Improved syntax highlighting and indentation.
+---
+*** New option `ruby-encoding-magic-comment-style'.
 
-*** Add more Ruby file types to `auto-mode-alist'.
+---
+*** New option `ruby-custom-encoding-magic-comment-template'.
 
+---
 *** New option `ruby-align-to-stmt-keywords'.
 
-*** New `electric-indent-mode' integration.
+---
+*** New option `ruby-align-chained-calls'.
+
+---
+*** More Ruby file types have been added to `auto-mode-alist'.
 
 ** Search and Replace
 
@@ -617,6 +734,7 @@ rather than mboxo.  Customize `unrmail-mbox-format' to change this.
 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.
 
@@ -636,10 +754,12 @@ backward, `M-s w words M-- M-%' replaces a sequence of words backward.
 *** 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
@@ -649,74 +769,85 @@ The same rules are now applied to the symbol search with the difference
 that it matches symbols, and non-symbol characters between symbols.
 
 +++
-** SES
-
-*** New command `ses-rename-cell' allows assigning names to SES cells.
+** New SES command `ses-rename-cell' allows assignment of names to SES cells.
 
-** 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.
+---
+** The shell.el option `explicit-bash-args' includes --noediting by default.
+All non-ancient Bash versions support this option.
 
 ** Shell Script mode
 
-*** `sh-mode' now has the mode own `add-log-current-defun-function'.
-You can pick the name of the function and the variables with `C-x 4 a'.
+---
+*** The SMIE indentation engine is now used by default - see `sh-use-smie'.
 
-*** The SMIE indentation engine is now used by default.
+---
+*** `sh-mode' now has its own setting for `add-log-current-defun-function'.
 
 ** SMIE indentation can be customized via `smie-config'.
-The customization can be guessed by Emacs by providing a sample indented
-file and letting SMIE learn from it.
+Emacs can learn the appropriate indentation settings if you provide it
+with an indented sample file.
 
-** Term mode
-
-*** New option `term-suppress-hard-newline'.
+---
+** New Term mode option `term-suppress-hard-newline'.
 
++++
 ** 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.
-
-** trace-function was largely rewritten.
-New features include:
-- no prompting for the destination buffer, unless a prefix-arg was used.
-- additionally to prompting for a destination buffer, when a prefix-arg is
-  used, the user can enter a "context", i.e. Lisp expression whose value at the
-  time the function is entered/exited will be printed along with the function
-  name and arguments.  Useful to trace the value of (current-buffer) or
-  (point) when the function is invoked.
+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 previous version of todo-mode.el has been
+renamed to otodo-mode.el and is now obsolete.  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 item types 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 many faces.
+
+** Trace
+
+---
+*** `trace-function' and `trace-function-background' no longer prompt for
+the output buffer.  Unless you use a prefix argument, they output to
+`trace-buffer'.
+
+---
+*** With a prefix argument, `trace-function' and `trace-function-background'
+will prompt for a "context".  This is a Lisp expression, whose value at the
+time the function is entered/exited is printed along with the function's
+name and arguments.
 
 ** Tramp
 
-*** The experimental url syntax for remote file names is withdrawn.
++++
+*** The experimental url syntax for remote file names has been removed.
 
 +++
 *** New connection method "adb", which allows to access Android
 devices by the Android Debug Bridge.  The variable `tramp-adb-program'
 can be used to adapt the path of the "adb" program, if needed.
 
++++
 *** The connection methods "plink1", "ssh1", "ssh2", "scp1", "scp2",
 "scpc" and "rsyncc" are discontinued.  The ssh option
 "ControlMaster=auto" is set automatically in all ssh-based methods,
-when possible.
+when possible.  See `tramp-use-ssh-controlmaster-options'.
 
 +++
 *** Handlers for `file-acl' and `set-file-acl' for remote machines
@@ -726,6 +857,9 @@ which support POSIX ACLs.
 *** Handlers for `file-notify-add-watch' and `file-notify-rm-watch'
 for remote machines which support filesystem notifications.
 
+** New command `url-cookie-list' displays all the current cookies, and
+allows deleting selected cookies.
+
 ** VC and related modes
 
 +++
@@ -745,22 +879,19 @@ received with a pull operation.
 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.
-
 ** 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'
+---
+** The Woman commands `woman-default-faces' and `woman-monochrome-faces'
 are obsolete.  Customize the `woman-*' faces instead.
 
-** Obsolete packages:
+** Obsolete packages
 
 *** Iswitchb is made obsolete by icomplete-mode.
 
@@ -769,11 +900,14 @@ are obsolete.  Customize the `woman-*' faces 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.
+---
+*** xesam.el is obsolete, because the XESAM project has been canceled.
 
 +++
 *** yow.el is obsolete; use fortune.el or cookie1.el instead.
@@ -785,20 +919,23 @@ has not been relevant for some time.
 \f
 * New Modes and Packages in Emacs 24.4
 
++++
 ** New package `eww' is a built-in web browser.
 It is only available if Emacs is compiled with libxml2 support.
 
-** New minor mode `superword-mode', defined 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
-using the same internal functions.
+** New minor mode `superword-mode'.
+This overrides the default word motion commands to treat "symbol_words"
+as a single word, similar to what `subword-mode' does.
 
++++
 ** New package nadvice.el offers 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.
+
+*** 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.
 
 ** New package frameset.el.
 It provides a set of operations to save a frameset (the state of all
@@ -814,19 +951,25 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c.
 \f
 * Incompatible Lisp Changes in Emacs 24.4
 
-** `kill-region' lost its `yank-handler' optional argument.
+---
+** `kill-region' has lost its `yank-handler' optional argument.
 
-** `(input-pending-p)' no longer runs other timers which are ready to
-run.  The new optional CHECK-TIMERS param allows for the prior behavior.
++++
+** `(input-pending-p)' no longer runs other timers that are ready to run.
+The new optional CHECK-TIMERS parameter allows for the prior behavior.
 
++++
 ** `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 syntax of ?» and ?« is now punctuation instead of matched parens.
+Some languages match those as Â»...«, and others as Â«...», so it is
+better for Emacs to stay neutral by default.
 
 ---
 ** In compiled Lisp files, the header no longer includes a timestamp.
 
++++
 ** 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
@@ -834,97 +977,132 @@ 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' no longer replaces the local keymaps.
 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.
+Instead they default to a function that 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
-to that past, it is still done before input-decode-map/function-key-map/...
+As was the case in Emacs 22 and before, the decoding of terminal
+input, according to `keyboard-coding-system', is not performed in
+`read-event' any more.  But unlike in Emacs 22, this decoding is still
+done before input-decode-map, function-key-map, etc.
 
-** Removed inhibit-local-menu-bar-menus.
+---
+** The option `inhibit-local-menu-bar-menus' has been removed.
 
-** frame-local variables that affect redisplay do not work any more.
-More specifically, the redisplay does not bother to check for a frame-local
+---
+** Frame-local variables that affect redisplay do not work any more.
+More specifically, redisplay does not bother to check for a frame-local
 value when looking up variables.
 
-** nil and "unbound" are indistinguishable in symbol-function.
-`symbol-function' never signals `void-function' any more.
-`fboundp' returns non-nil if the symbol was `fset' to nil.
++++
+** nil and "unbound" are indistinguishable in `symbol-function'.
+`symbol-function' does not signal a `void-function' error any more.
+To determine if a symbol's function definition is void, use `fboundp'.
 
++++
 ** `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.
+---
+** `dolist' no longer binds VAR while evaluating the RESULT form,
+when lexical binding is enabled.  Previously, VAR was bound to nil,
+which often led to spurious unused-variable warnings.
 
++++
 ** The return value of `backup-buffer' has changed.
 The second argument is no longer an SELinux context, instead it is an
 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'.
 
++++
+** By default `copy-file' no longer copies file permission bits to an
+existing destination; and it sets the file permission bits of a newly
+created destination to those of the source, masked by the default file
+permissions.  To copy the file permission bits, pass t as the
+PRESERVE-PERMISSIONS argument of `copy-file'.
+
++++
 ** `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.
++++
+** The cars of the elements in `interpreter-mode-alist' are now
+treated as regexps rather than literal strings.
 
 \f
 * Lisp Changes in Emacs 24.4
 
 +++
-** New variable `enable-dir-local-variables'.
-Directory-local variables are ignored if this is set to nil.  This may
-be useful for modes that want to ignore directory-locals while still
-respecting file-local variables.
+** The second argument of `eval' can now specify a lexical environment.
+
++++
+** New functions `special-form-p' and `macrop'.
 
 ** New macro `define-alternatives' 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 `defalias-fset-function' property lets you catch `defalias'
+calls, and redirect them to your own function, instead of `fset'.
+
++++
+** New variable `enable-dir-local-variables'.
+Directory-local variables are ignored if this is nil.  This may be
+useful for modes that want to ignore directory-locals while still
+respecting file-local variables.
+
 +++
 ** New function `get-pos-property'.
 
-** Minibuffer changes
+** Completion changes
 
-*** completing-read-multiple's separator can now be a regexp.
-The default separator is changed to allow surrounding spaces around the comma.
+*** The separator for `completing-read-multiple' can now be a regexp.
+The default separator has been changed to allow surrounding spaces
+around the comma.
 
-*** New option `read-regexp-defaults-function' defines the function
-that provides the default value for commands that ask for a regexp:
-`rgrep', `lgrep' `occur', `multi-occur', `multi-occur-in-matching-buffers',
-`highlight-regexp', `highlight-lines-matching-regexp', `highlight-phrase'.
-This option can be customized to values that provide a default value
-from the regexp last history element or from the symbol found at point.
+*** The `common-substring' arg of `display-completion-list' is obsolete.
+Either use `completion-all-completions', which returns highlighted
+strings (including for partial or substring completion), or call
+`completion-hilit-commonality' to add the highlight.
 
-** New option `load-prefer-newer', if non-nil, means that when both
-.el and .elc versions of a file exist, rather than `load' always
-choosing the .elc version, it will choose whichever is newer
-(unless you explicitly specify one or the other).
+** New minor modes `prettify-symbols-mode' and `global-prettify-symbols-mode'
+let you enable symbol prettification (replacing a string like "lambda" with
+the Greek lambda character).
 
-** New hook `pre-redisplay-function'.
+** Terminal changes
 
 +++
-** Functions that pop up menus and dialogs now work on all terminal types,
-including TTYs.
-This includes `x-popup-menu', `x-popup-dialog', `message-box',
-`yes-or-no-p', etc.
+*** Functions to pop up menus and dialogs now work on all terminals,
+including TTYs.  This includes `x-popup-menu', `x-popup-dialog',
+`message-box', `yes-or-no-p', etc.
 
 The function `display-popup-menus-p' will now return non-nil for a
 display or frame whenever a mouse is supported on that display or
 frame.
 
+*** New hook `tty-setup-hook'.
+
+** Window Handling
+
+*** New display action function `display-buffer-no-window' to not
+display the buffer in a window.
+
+*** New display action alist entry `allow-no-window' to indicate the
+caller of `display-buffer' is ready to handle the case of not
+displaying the buffer in a window.
+
+** New hook `pre-redisplay-function'.
+
 +++
-** New bool-vector set operation functions:
+** New bool-vector set operation functions
 *** `bool-vector-exclusive-or'
 *** `bool-vector-union'
 *** `bool-vector-intersection'
@@ -935,33 +1113,36 @@ frame.
 *** `bool-vector-count-population'
 
 +++
-** Comparison functions =, <, >, <=, >= now take many arguments.
+** Comparison functions =, <, >, <=, >= can now take many arguments.
 
-** The second argument of `eval' can now be a lexical-environment.
+** Error-handling changes
 
-** `with-demoted-errors' takes an additional argument `format'.
 +++
-** New function `define-error'.
+*** New function `define-error'.
 
-** New hook `tty-setup-hook'.
++++
+*** `with-demoted-errors' takes an additional argument `format'.
 
 +++
-** New macro with-eval-after-load.  Like eval-after-load, but better behaved.
+** New macro `with-eval-after-load'.
+This is like the old `eval-after-load', but better behaved.
 
-** New library subr-x.el for misc helper functions
+---
+** New library subr-x.el with miscellaneous small utility functions
 *** `hash-table-keys'
 *** `hash-table-values'
-*** `string-blank-p`
-*** `string-empty-p`
-*** `string-join`
-*** `string-reverse`
+*** `string-blank-p'
+*** `string-empty-p'
+*** `string-join'
+*** `string-reverse'
 *** `string-trim-left'
 *** `string-trim-right'
 *** `string-trim'
 *** `string-remove-prefix'
 *** `string-remove-suffix'
 
-** Obsoleted functions:
++++
+** Obsoleted functions
 *** `log10'
 *** `dont-compile'
 *** `lisp-complete-symbol'
@@ -970,6 +1151,7 @@ frame.
 *** `isearch-nonincremental-exit-minibuffer'
 *** `isearch-filter-visible'
 *** `generic-make-keywords-list'
+*** `get-upcase-table' (use `case-table-get-table' instead).
 
 ** `with-wrapper-hook' is obsoleted by `add-function'.
 The few hooks that used with-wrapper-hook are replaced as follows:
@@ -977,19 +1159,22 @@ 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'.
 
++++
 ** `byte-compile-interactive-only-functions' is now obsolete.
-It has been replaced by the symbol property 'interactive-only.
+To specify that a command should only be called interactively, give it
+a non-nil `interactive-only' property.
 
++++
 ** `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.
 
++++
 ** New function `string-suffix-p'.
 
-** `get-upcase-table' is obsoleted by the new `case-table-get-table'.
-
 ** File-handling changes
 
++++
 *** Support for filesystem notifications.
 Emacs now supports notifications of filesystem changes, such as
 creation, modification, and deletion of files.  This requires the
@@ -997,25 +1182,28 @@ creation, modification, and deletion of files.  This requires the
 MS-Windows systems, this is supported for Windows XP and newer
 versions.
 
++++
 *** The 9th element returned by `file-attributes' is now unspecified.
 Formerly, it was t if the file's gid would change if file were deleted
 and recreated.  This value has been inaccurate for years on many
 platforms, and nobody seems to have noticed or cared.
 
++++
 *** The 6th argument to `copy-file' has been renamed to
-PRESERVE-EXTENDED-ATTRIBUTES as it now handles both SELinux context
-and ACL entries.
+PRESERVE-PERMISSIONS as it now handles ACL entries and the traditional
+Unix file permission bits as well as SELinux context.
 
++++
 *** The function `file-ownership-preserved-p' now has an optional
 argument GROUP which causes it check for file group too.  This can be
 used in place of the 9th element of `file-attributes'.
 
-
+---
 *** 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'.
 
-** Changes in autorevert.el
+** Autorevert changes
 
 ---
 *** If Emacs is compiled with file notification support, notifications
@@ -1031,11 +1219,11 @@ of remote files when set to non-nil.
 
 ** Face changes
 
-*** 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.
+*** The function `face-spec-set' is now like `setq' for face specs.
+Its third arg now accepts values specifying a face spec type (defface,
+custom, or override spec), and the relevant spec is set accordingly.
 
++++
 *** New function `add-face-text-property', which can be used to
 conveniently prepend/append new face properties.
 
@@ -1045,6 +1233,7 @@ rather than inheriting from it (as do face specs set via Customize).
 *** New face characteristic (supports :underline (:style wave))
 specifies whether or not the terminal can display a wavy line.
 
++++
 *** New face spec attribute :distant-foreground
 specifies foreground to use if background color is near the foreground
 color that would otherwise have been used.
@@ -1057,36 +1246,34 @@ It returns non-nil for any image that contains multiple frames,
 whether or not it specifies a frame delay.
 
 +++
-*** When animating images that do not specify a frame delay,
-Emacs uses `image-default-frame-delay'.
+*** New variable `image-default-frame-delay' gives the frame delay for
+animated images which do not specify a 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.
-
 ** EIEIO
 
++++
 *** Namespace cleanup by obsolete-aliasing functions to use `eieio-' prefix.
 **** object-name -> eieio-object-name
 **** object-class -> eieio-object-class
 **** object-class-fast -> eieio--object-class
+**** object-class-name -> eieio-object-class-name
 **** object-name-string -> eieio-object-name-string
 **** object-num-slots -> eieio--object-num-slots
 **** object-set-name-string -> eieio-object-set-name-string
+**** class-of -> eieio-object-class
+**** class-name -> eieio-class-name
 **** class-parent -> eieio-class-parent
 **** class-parents -> eieio-class-parents
+**** class-parents-fast -> eieio-class-parents-fast
 **** class-children -> eieio-class-children
 **** class-num-slots -> eieio--class-num-slots
 **** class-precedence-list -> eieio-class-precedence-list
-**** All generated class-* and object-* field accessors are now
-prefixed with `eieio-' as well.
-
-*** Obsoleted functions:
-**** class-of
-**** class-direct-subclasses
-**** class-direct-superclasses
+**** class-direct-subclasses -> eieio-class-children
+**** class-direct-superclasses -> eieio-class-parents
 
 ** Changes in encoding and decoding of text
 
@@ -1117,36 +1304,28 @@ These attributes are only meaningful for coding-systems of type
 `:coding-type' attribute and can be accessed by calling the
 `coding-system-type' function.)
 
-** `time-to-seconds' is not obsolete any more.
-
-** New functions `special-form-p' and `macrop'.
-
-** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
-text-property on the first char.
+---
+** The `time-to-seconds' alias to `float-time' is no longer marked obsolete.
 
-** The `defalias-fset-function' property lets you catch calls to defalias
-and redirect them to your own function instead of `fset'.
++++
+** New functions `group-gid' and `group-real-gid'.
 
-** The lock for 'DIR/FILE' is now 'DIR/.#FILE' and may be a regular file.
-When you edit DIR/FILE, Emacs normally creates a symbolic link
-DIR/.#FILE as a lock that warns other instances of Emacs that DIR/FILE
-is being edited.  Formerly, if there was already a non-symlink file
-named DIR/.#FILE, Emacs fell back on the lock names DIR/.#FILE.0
-through DIR/.#FILE.9.  These fallbacks have been removed, so that
-Emacs now no longer locks DIR/FILE in that case.
+---
+** The spelling of the rx.el category `chinese-two-byte' has been
+corrected (the first 'e' was missing).
 
+---
+** Minor internal changes to the details of lock files.
+The lock for DIR/FILE is now _always_ DIR/.#FILE.
+If DIR/.#FILE already exists and is not an Emacs lock file,
+Emacs makes no attempt to lock DIR/FILE.  (Previously, it fell back to
+numbered lock files DIR/.#FILE.0...).
 On file systems that do not support symbolic links, the lock is now a
 regular file with contents being what would have been in the symlink.
 
-** New functions `group-gid' and `group-real-gid'.
-
-** 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,
 and functions should be separated by two hyphens if the symbol is not
 meant to be used by other packages.
@@ -1154,6 +1333,7 @@ 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
@@ -1192,19 +1372,24 @@ modifying it has no effect.
 
 ---
 ** Lock files now work on MS-Windows.
-This allows to avoid losing your edits if the same file is being
+This helps to prevent losing your edits if the same file is being
 edited in another Emacs session or by another user.  See the node
 "Interlocking" in the Emacs User Manual for the details.  To disable
 file locking, customize `create-lockfiles' to nil.
 
+** New Core Text based font backend for Mac OS X 10.5 and newer.
+GNUstep and Mac OS X 10.4 use the old font backend.
+To use the old backend by default, do on the command line:
+% defaults write org.gnu.Emacs FontBackend ns
+
 ** Improved fullscreen support on Mac OS X.
-Both native (>= OSX 10.7) and "old style" fullscreen are supported.
-Customize `ns-use-native-fullscreen' to change style.  For >= 10.7
-native is the default.
+Emacs supports both native (Mac OS X 10.7 and newer) and "old style" fullscreen.
+Customize `ns-use-native-fullscreen' to change the style.
+For Mac OS X 10.7 and newer, native is the default.
 
-** OSX >= 10.7 can use sRGB colorspace.
-Customize `ns-use-srgb-colorspace' to change style.  nil is the default.
-Note: This does not apply to images.
+** On Mac OS X 10.7 and newer, Emacs uses sRGB colorspace by default.
+Customize `ns-use-srgb-colorspace' to disable this.  Note that this
+does not apply to images.
 
 \f
 * Installation Changes in Emacs 24.3
@@ -1299,13 +1484,6 @@ 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
@@ -1347,7 +1525,7 @@ respectively, without exiting from the prompt.
 ** In the Package Menu, newly-available packages are listed as "new",
 and sorted above the other "available" packages by default.
 
-** If your Emacs was built from a bzr checkout, the new variable
+** If your Emacs was built from a repository checkout, the new variable
 `emacs-bzr-version' contains information about the bzr revision used.
 
 ** New option `create-lockfiles' specifies usage of lockfiles.
@@ -1799,9 +1977,6 @@ 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.
@@ -2051,13 +2226,6 @@ reused.
 *** New option `switch-to-buffer-preserve-window-point' to restore a
 window's point when switching buffers.
 
-*** New display action function `display-buffer-no-window' to not
-display the buffer in a window.
-
-*** New display action alist entry `allow-no-window' to indicate the
-caller of `display-buffer' is ready to handle the case of not
-displaying the buffer in a window.
-
 *** New display action alist entries `window-height' and `window-width'
 specify the size of new windows created by `display-buffer'.
 
@@ -3213,7 +3381,7 @@ means you can just remove all calls to the function in question):
 *** `frame-update-faces' (not needed)
 *** `frame-update-face-colors' (`frame-set-background-mode')
 *** `x-frob-font-weight' and `x-frob-font-slant' (`make-face-*' functions)
-*** `x-make-font-bold and x-make-font-demibold (`make-face-bold')
+*** `x-make-font-bold' and `x-make-font-demibold' (`make-face-bold')
 *** `x-make-font-italic' and `x-make-font-oblique' (`make-face-italic')
 *** `x-make-font-bold-italic' (`make-face-bold-italic')
 *** `x-make-font-unbold' (`make-face-unbold')
@@ -3495,11 +3663,6 @@ 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.