* etc/NEWS: Mention register-read-with-preview.
[bpt/emacs.git] / etc / NEWS
index 7f8907d..21480b0 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
@@ -134,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'.
@@ -175,9 +175,11 @@ Use `C-h C-\' (`describe-input-method') instead.
 +++
 *** 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
 
@@ -211,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.
@@ -235,19 +242,17 @@ and this variable has been marked obsolete.
 
 ---
 ** `emacs-bzr-version' has been renamed to `emacs-repository-version',
-and works for git too.
-
-** New user options:
+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 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.
 
 +++
-*** `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.
@@ -266,22 +271,20 @@ 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
 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.
@@ -298,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
@@ -307,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
@@ -325,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
@@ -350,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.
+** Battery information can now be retrieved from BSD's `apm' utility.
 
-** Buffer Menu
-
-*** `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
 
@@ -377,18 +381,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
@@ -408,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++.
 
@@ -428,9 +432,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.
 
@@ -438,13 +443,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
 
@@ -457,11 +465,13 @@ 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
 
@@ -493,9 +503,7 @@ 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'.
 
@@ -508,9 +516,8 @@ 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'.
+---
+** 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.
 
@@ -539,9 +546,8 @@ 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.
 
@@ -557,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
 
@@ -606,17 +618,19 @@ entries displayed by `Info-index-next', `Info-virtual-index' and
 
 ** 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
@@ -625,20 +639,25 @@ See MH-E-NEWS for details.
 
 *** Completion in Octave file buffers.
 
-*** Eldoc support.
+*** ElDoc support.
 
 *** Jump to definition.
 
 *** Documentation lookup/search.
 
-** OPascal mode is the new name for Delphi mode.
++++
+** OPascal mode is the new name for Delphi mode
 
+---
 *** All delphi-* variables and functions have been renamed to opascal-*.
+Obsolete aliases exist for those likely to have been used externally.
 
-*** `delphi-newline-always-indents' is not supported any more.
+---
+*** 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
 
@@ -687,17 +706,26 @@ rather than mboxo.  Customize `unrmail-mbox-format' to change this.
 
 ** Ruby mode
 
-*** New option `ruby-encoding-magic-comment-style'.
+---
+*** Improved syntax highlighting and indentation.
 
-*** New option `ruby-custom-encoding-magic-comment-template'.
+---
+*** New `electric-indent-mode' integration.
 
-*** Improved syntax highlighting and indentation.
+---
+*** New option `ruby-encoding-magic-comment-style'.
 
-*** More Ruby file types have been added 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
 
@@ -741,7 +769,7 @@ The same rules are now applied to the symbol search with the difference
 that it matches symbols, and non-symbol characters between symbols.
 
 +++
-** New SES command `ses-rename-cell' allows assigning names to SES cells.
+** New SES command `ses-rename-cell' allows assignment of names to SES cells.
 
 ---
 ** The shell.el option `explicit-bash-args' includes --noediting by default.
@@ -749,49 +777,65 @@ All non-ancient Bash versions support this option.
 
 ** Shell Script mode
 
-*** `sh-mode' now has its own setting for `add-log-current-defun-function'.
+---
+*** 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'.
 Emacs can learn the appropriate indentation settings if you provide it
 with an indented sample file.
 
+---
 ** 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 previous version of todo-mode.el has been
-renamed to otodo-mode.el and is now obsolete.
+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.
 
-** trace-function
+*** Moving items between categories, storing done items in their category
+or in archive files, undoing or unarchiving done items.
 
-*** No prompting for the destination buffer, unless a prefix argument is used.
+*** Reprioritizing items by inputting a numerical priority.
 
-*** With a prefix argument, you can enter a "context"; i.e., a Lisp
-expression whose value at the time the function is entered/exited will
-be printed along with the function name and arguments.  For example,
-you can use this to trace the value of current-buffer or point.
+*** 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 has been removed.
 
 +++
@@ -799,10 +843,11 @@ you can use this to trace the value of current-buffer or point.
 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
@@ -834,10 +879,6 @@ 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
 
 ---
@@ -846,10 +887,11 @@ because it is moved to vc-cvs.el.
 ---
 *** New commands: `vhdl-fix-statement-region', `vhdl-fix-statement-buffer'.
 
+---
 ** 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.
 
@@ -858,10 +900,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.
 
 +++
@@ -890,7 +935,7 @@ It is layered as:
 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.
+function, much like `defadvice' does.
 
 ** New package frameset.el.
 It provides a set of operations to save a frameset (the state of all
@@ -1057,7 +1102,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'
@@ -1075,6 +1120,7 @@ displaying the buffer in a window.
 +++
 *** New function `define-error'.
 
++++
 *** `with-demoted-errors' takes an additional argument `format'.
 
 +++
@@ -1085,10 +1131,10 @@ This is like the old `eval-after-load', but better behaved.
 ** 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'
@@ -1096,7 +1142,7 @@ This is like the old `eval-after-load', but better behaved.
 *** `string-remove-suffix'
 
 +++
-** Obsoleted functions:
+** Obsoleted functions
 *** `log10'
 *** `dont-compile'
 *** `lisp-complete-symbol'
@@ -1258,18 +1304,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'.
@@ -1278,6 +1314,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
 
 +++
@@ -1288,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
@@ -1326,7 +1372,7 @@ 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.
@@ -3335,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')