]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Delete Selection mode doc updates
[gnu-emacs] / etc / NEWS
index 81675d4eea23ba3504139832a7d07356f4919c59..c17eb3ec09a9f247a2ca4c69f7cf7e48adc580f4 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
@@ -41,8 +42,7 @@ 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
@@ -54,17 +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
-
-** If your Emacs was built from a repository checkout, the new variable
-`emacs-repository-version' contains information about the bzr revision used.
-In 24.3 this variable was `emacs-bzr-version`.
+** 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
@@ -143,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'.
@@ -168,25 +159,27 @@ non-nil, they output the same results.
 +++
 *** The key `?' now describes prefix bindings, like `C-h'.
 
-*** The command `describe-function' was extended for EIEIO.
+*** 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 command `quail-help' is deleted.  Use `C-h C-\'
-(`describe-input-method') instead.
+---
+*** 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.
+*** 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'.
++++
+*** 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
 
@@ -220,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.
@@ -232,26 +230,29 @@ 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.
 
-** New user options:
+---
+** `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 read regexps,
-used 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.
+** `read-regexp-defaults-function' defines a function to read regexps,
+used 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.
 
 +++
-*** `load-prefer-newer', affects how the `load' function chooses the
-file to load.  If this is non-nil, then when both .el and .elc
+** 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.
@@ -270,25 +271,23 @@ 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.
@@ -302,7 +301,9 @@ 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.
 
 +++
 *** New command `C-x C-k x' (`kmacro-to-register') stores keyboard
@@ -311,16 +312,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
@@ -329,7 +329,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
@@ -354,14 +354,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
 
@@ -381,18 +378,18 @@ and `calendar-month-header'.
 
 ** 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
@@ -412,13 +409,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++.
 
@@ -432,9 +429,10 @@ For example, this enables parsing of macros which open new namespaces.
 ** CUA mode
 
 *** CUA mode now uses `delete-selection-mode' and `shift-select-mode'.
-Hence, you can now enable it independently from `transient-mark-mode',
-`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.
 
@@ -442,13 +440,16 @@ You can disable `transient-mark-mode' to get the same result.
 
 ** 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 it doesn't support that option.
+if your version doesn't support that option.  See option `cfengine-cf-promises'.
 
-** Delete Selection mode can now be used without `transient-mark-mode'.
+---
+** Delete Selection mode can now be used without Transient Mark mode.
 
 ** Desktop
 
@@ -461,52 +462,45 @@ restoring the frame/window configuration (frameset).  Additional options
 and `desktop-restore-forces-onscreen' offer further customization.
 
 +++
-** Dired
-
-*** New minor mode `dired-hide-details-mode' hides details.
+** New Dired minor mode `dired-hide-details-mode' toggles whether details,
+such as file ownership or permissions, are visible.
 
-** Eldoc Mode works properly in the minibuffer.
+---
+** 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.
 
 ** Electric Pair mode
-*** New `electric-pair-preserve-balance' enabled by default.
 
-Pairing/skipping only kicks in when that help the balance of
-parentheses and quotes, i.e. the buffer should end up at least as
+*** 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.
 
 You can further control this behavior by adjusting the predicates
-stored in `electric-pair-inhibit-predicate' and
-`electric-pair-skip-self'.
-
-*** New `electric-pair-delete-adjacent-pairs' enabled by default.
+stored in `electric-pair-inhibit-predicate' and `electric-pair-skip-self'.
 
+*** 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 `electric-pair-open-newline-between-pairs' enabled by default.
-
+*** 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 `electric-pair-skip-whitespace' enabled by default.
-
-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 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.
 
-** EPA
-
-*** New option `epa-mail-aliases'.
-
+** New EPA option `epa-mail-aliases'.
 You can set this to a list of alias expansions for keys to use
 in `epa-mail-encrypt'.
 
@@ -519,22 +513,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
@@ -542,27 +533,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))
@@ -570,11 +560,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
 
@@ -610,45 +606,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 option `imenu-generic-skip-comments-and-strings'.
+** New Imenu 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
 
@@ -666,29 +672,25 @@ to see other packages related to any given keyword.
 *** In the *Packages* buffer, `f' or the Package->Filter menu filters
 the packages by a keyword.
 
-** Prolog mode
-
-*** `prolog-use-smie' has been removed, along with the non-SMIE
-indentation code.
+---
+** In Prolog mode, `prolog-use-smie' has been removed,
+along with the non-SMIE indentation code.
 
 ** Remember
 
-*** The new command `remember-notes' creates a buffer which 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
+*** 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
 
@@ -701,19 +703,23 @@ 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.
+---
+*** More Ruby file types have been added to `auto-mode-alist'.
 
 ** Search and Replace
 
@@ -757,64 +763,73 @@ 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
@@ -856,22 +871,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.
 
@@ -880,10 +892,13 @@ 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 is obsolete, because the XESAM project has been canceled.
 
 +++
@@ -900,18 +915,19 @@ has not been relevant for some time.
 ** 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
@@ -928,18 +944,19 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c.
 * 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.
@@ -958,7 +975,7 @@ 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.
@@ -968,11 +985,11 @@ input, according to `keyboard-coding-system', is not performed in
 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
+More specifically, redisplay does not bother to check for a frame-local
 value when looking up variables.
 
 +++
@@ -1077,7 +1094,7 @@ 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'
@@ -1088,28 +1105,28 @@ displaying the buffer in a window.
 *** `bool-vector-count-population'
 
 +++
-** Comparison functions =, <, >, <=, >= now take many arguments.
+** Comparison functions =, <, >, <=, >= can now take many arguments.
 
 ** Error-handling changes
 
 +++
 *** New function `define-error'.
 
++++
 *** `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'
@@ -1117,7 +1134,7 @@ displaying the buffer in a window.
 *** `string-remove-suffix'
 
 +++
-** Obsoleted functions:
+** Obsoleted functions
 *** `log10'
 *** `dont-compile'
 *** `lisp-complete-symbol'
@@ -1178,7 +1195,7 @@ used in place of the 9th element of `file-attributes'.
 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
@@ -1279,18 +1296,8 @@ 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.
-
-** 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.
-
-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.
+---
+** The `time-to-seconds' alias to `float-time' is no longer marked obsolete.
 
 +++
 ** New functions `group-gid' and `group-real-gid'.
@@ -1299,6 +1306,15 @@ regular file with contents being what would have been in the symlink.
 ** 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.
+
 ** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4
 
 +++
@@ -1309,6 +1325,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
@@ -1347,19 +1364,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.  t 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
@@ -3351,7 +3373,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')