emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master a5f190d: Merge from origin/emacs-26


From: Paul Eggert
Subject: [Emacs-diffs] master a5f190d: Merge from origin/emacs-26
Date: Tue, 20 Mar 2018 12:01:39 -0400 (EDT)

branch: master
commit a5f190dd658419e9328a846a1044b8294a7632d9
Merge: 97608c6 2352701
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Merge from origin/emacs-26
    
    23527013c7 ; Rewrap doc string
    4328d5f744 Correct Info link markup
    2fb52abd9e Improve documentation of 'with-help-window'
    ec08c62f03 Minor improvements in building.texi
    663aafe1ff * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
    05781b2e88 ; Spelling fix
    aa40014ba3 * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
    23072e468f Yet more proofreading of the Emacs manual
    ba5a372540 * doc/emacs/rmail.texi: Fix broken link.
    6b2210cc29 ; Spelling fix
    067c8c4f5b Fix recently-added POP doc glitch
    fb3dc0e8aa More proofreading of the Emacs manual
    a776ce7be6 Fix typo in the Emacs manual's VC chapter
    7f27d42f0b Pass json-readtable-error data as a list (bug#30489)
    10bd3b3af8 Improve word motion docs (Bug#30815)
    2b8507fbdc Replace "carriage-return" by "carriage return" in manuals
    2616cd94f1 Minor copyedits in mule.texi
    36a1d52814 Fix problems caused by fontconfig-2.13.0
---
 ChangeLog.3                |   2 +-
 doc/emacs/building.texi    |  64 +++++++++++------
 doc/emacs/macos.texi       |  14 +++-
 doc/emacs/maintaining.texi |   2 +-
 doc/emacs/msdos.texi       |  45 ++++++------
 doc/emacs/mule.texi        |  49 +++++++------
 doc/emacs/rmail.texi       | 171 +++++++++++++++++++++++++--------------------
 doc/emacs/screen.texi      |   4 +-
 doc/lispref/help.texi      |  19 ++---
 doc/lispref/nonascii.texi  |   4 +-
 doc/lispref/positions.texi |   2 +-
 doc/misc/calc.texi         |   2 +-
 lisp/eshell/em-cmpl.el     |   2 +-
 lisp/gnus/gnus-agent.el    |   2 +-
 lisp/help.el               |  19 +++--
 lisp/json.el               |   2 +-
 lisp/simple.el             |  12 ++--
 lisp/textmodes/bibtex.el   |   2 +-
 src/minibuf.c              |  46 ++++++------
 src/syntax.c               |   9 +--
 src/xterm.c                |   6 +-
 test/lisp/json-tests.el    |   3 +-
 22 files changed, 270 insertions(+), 211 deletions(-)

diff --git a/ChangeLog.3 b/ChangeLog.3
index ea4d71c..2dbe6c4 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -2769,7 +2769,7 @@
        This fixes bug #28623.
 
        * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
-       testing for being enclosed in parens, recognise also a brace directly
+       testing for being enclosed in parens, recognize also a brace directly
        following a comma, as well as a brace being the first thing inside the 
paren.
        Enhance the return value, by indicating when we're directly inside an 
open
        paren.
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index e1c3cea..a4ff69d 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -45,9 +45,12 @@ messages and show you where the errors occurred.
 @item M-x compile
 Run a compiler asynchronously under Emacs, with error messages going to
 the @file{*compilation*} buffer.
+
 @item M-x recompile
address@hidden address@hidden (Compilation mode)}
 Invoke a compiler with the same command as in the last invocation of
 @kbd{M-x compile}.
+
 @item M-x kill-compilation
 Kill the running compilation subprocess.
 @end table
@@ -109,18 +112,19 @@ recompile}.  This reuses the compilation command from the 
last
 invocation of @kbd{M-x compile}.  It also reuses the
 @file{*compilation*} buffer and starts the compilation in its default
 directory, which is the directory in which the previous compilation
-was started.
+was started.  In @file{*compilation*} buffers this command is bound to
address@hidden
 
 @findex kill-compilation
 @vindex compilation-always-kill
   Starting a new compilation also kills any compilation already
 running in @file{*compilation*}, as the buffer can only handle one
-compilation at any time.  However, @kbd{M-x compile} asks for
-confirmation before actually killing a compilation that is running; to
-always automatically kill the compilation without asking, change the
-variable @code{compilation-always-kill} to @code{t}.  You can also
-kill a compilation process with the command @kbd{M-x
-kill-compilation}.
+compilation at any time.  However, @kbd{M-x compile} and @kbd{M-x
+recompile} ask for confirmation before actually killing a compilation
+that is running; to always automatically kill the compilation without
+asking, change the variable @code{compilation-always-kill} to
address@hidden  You can also kill a compilation process with the command
address@hidden kill-compilation}.
 
   To run two compilations at once, start the first one, then rename
 the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
@@ -183,6 +187,9 @@ different file (@code{compilation-previous-file}).
 @item C-c C-f
 Toggle Next Error Follow minor mode, which makes cursor motion in the
 compilation buffer produce automatic source display.
address@hidden g
+Re-run the last command whose output is shown in the
address@hidden buffer.
 @end table
 
 @kindex M-g M-n
@@ -278,6 +285,12 @@ Names}).
 @node Compilation Shell
 @section Subshells for Compilation
 
+  This section includes various techniques and advice for using a
+shell and its features in compilation buffers.  This material is
+specific to local compilations, and will most probably not work in (or
+be irrelevant to) compilation buffers whose default directory is on
+remote hosts.
+
   The @kbd{M-x compile} command uses a shell to run the compilation
 command, but specifies the option for a noninteractive shell.  This
 means, in particular, that the shell should start with no prompt.  If
@@ -383,6 +396,8 @@ grep -nH -e foo *.el | grep bar | grep toto
   The output from @command{grep} goes in the @file{*grep*} buffer.  You
 can find the corresponding lines in the original files using @address@hidden
 `}}, @key{RET}, and so forth, just like compilation errors.
address@hidden Mode}, for detailed description of commands and key
+bindings available in the @file{*grep*} buffer.
 
   Some grep programs accept a @samp{--color} option to output special
 markers around matches for the purpose of highlighting.  You can make
@@ -401,7 +416,7 @@ The possible values are either @code{nil} (don't save), 
@code{ask}
 (and is called with the file name as the parameter and should return
 address@hidden if the buffer is to be saved).  Any other
 address@hidden value means that all buffers should be saved without
-asking.
+asking.  The default is @code{ask}.
 
 @findex grep-find
 @findex find-grep
@@ -490,8 +505,8 @@ see the Flymake Info manual, which is distributed with 
Emacs.
 
 The GUD (Grand Unified Debugger) library provides an Emacs interface
 to a wide variety of symbolic debuggers.  It can run the GNU Debugger
-(GDB), as well as DBX, SDB, XDB, Perl's debugging mode, the Python
-debugger PDB, and the Java Debugger JDB.
+(GDB), as well as DBX, SDB, XDB, Guile REPL debug commands, Perl's
+debugging mode, the Python debugger PDB, and the Java Debugger JDB.
 
   Emacs provides a special interface to GDB, which uses extra Emacs
 windows to display the state of the debugged program.  @xref{GDB
@@ -544,6 +559,10 @@ Run the Java debugger.
 @findex pdb
 Run the Python debugger.
 
address@hidden M-x guiler
address@hidden guiler
+Run Guile REPL for debugging Guile Scheme programs.
+
 @item M-x dbx
 @findex dbx
 Run the DBX debugger.
@@ -803,12 +822,14 @@ Instead, type @kbd{C-q @key{TAB}} to enter a tab.
 @vindex perldb-mode-hook
 @vindex pdb-mode-hook
 @vindex jdb-mode-hook
address@hidden guiler-mode-hook
   On startup, GUD runs one of the following hooks:
 @code{gdb-mode-hook}, if you are using GDB; @code{dbx-mode-hook}, if
 you are using DBX; @code{sdb-mode-hook}, if you are using SDB;
address@hidden, if you are using XDB; @code{perldb-mode-hook},
-for Perl debugging mode; @code{pdb-mode-hook}, for PDB;
address@hidden, for address@hidden  @xref{Hooks}.
address@hidden, if you are using XDB; @code{guiler-mode-hook}
+for Guile REPL debugging; @code{perldb-mode-hook}, for Perl debugging
+mode; @code{pdb-mode-hook}, for PDB; @code{jdb-mode-hook}, for address@hidden
address@hidden
 
   The @code{gud-def} Lisp macro (@pxref{Defining Macros,,, elisp, the
 Emacs Lisp Reference Manual}) provides a convenient way to define an
@@ -964,16 +985,18 @@ still in the right places.
 
 @table @asis
 @item @kbd{mouse-1} (in fringe)
-Set or clear a breakpoint on that line.
+Set or clear a breakpoint on that line
+(@code{gdb-mouse-set-clear-breakpoint}).
 
 @item @kbd{C-mouse-1} (in fringe)
-Enable or disable a breakpoint on that line.
+Enable or disable a breakpoint on that line
+(@code{gdb-mouse-toggle-breakpoint-margin}).
 
 @item @kbd{mouse-3} (in fringe)
-Continue execution to that line.
+Continue execution to that line (@code{gdb-mouse-until}).
 
 @item @kbd{C-mouse-3} (in fringe)
-Jump to that line.
+Jump to that line (@code{gdb-mouse-jump}).
 @end table
 
   On a graphical display, you can click @kbd{mouse-1} in the fringe of
@@ -1030,7 +1053,8 @@ Visit the source line for the current breakpoint
 
 @item mouse-2
 @kindex mouse-2 @r{(GDB Breakpoints buffer)}
-Visit the source line for the breakpoint you click on.
+Visit the source line for the breakpoint you click on
+(@code{gdb-goto-breakpoint}).
 @end table
 
 @vindex gdb-show-threads-by-default
@@ -1051,8 +1075,8 @@ point there and press @key{RET} 
(@code{gdb-select-thread}), or click on
 it with @kbd{mouse-2}.  This also displays the associated source
 buffer, and updates the contents of the other GDB buffers.
 
-  You can customize variables under @code{gdb-buffers} group to select
-fields included in GDB Threads buffer.
+  You can customize variables in the @code{gdb-buffers} group to
+select fields included in GDB Threads buffer.
 
 @table @code
 @item gdb-thread-buffer-verbose-names
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index 4982c78..e669eaa 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -21,7 +21,7 @@ begin with @samp{ns-}, which is short for @samp{Nextstep}.  
NeXTstep
 was an application interface released by NeXT Inc.@: during the 1980s,
 of which Cocoa is a direct descendant.  Apart from Cocoa, there is
 another NeXTstep-style system: GNUstep, which is free software.  As of
-this writing, Emacs GNUstep support is alpha status (@pxref{GNUstep
+this writing, Emacs GNUstep support is in alpha status (@pxref{GNUstep
 Support}), but we hope to improve it in the future.
 
 @menu
@@ -34,6 +34,7 @@ Support}), but we hope to improve it in the future.
 @node Mac / GNUstep Basics
 @section Basic Emacs usage under macOS and GNUstep
 
address@hidden modifier keys (macOS)
   By default, the @key{Alt} and @key{Option} keys are the same as
 @key{Meta}.  The Mac @key{Cmd} key is the same as @key{Super}, and
 Emacs provides a set of key bindings using this modifier key that mimic
@@ -47,7 +48,7 @@ behavior of the right @key{Alt} and @key{Option} keys.  These 
keys
 behave like the left-hand keys if the value is @code{left} (the
 default).  A value of @code{control}, @code{meta}, @code{alt},
 @code{super}, or @code{hyper} makes them behave like the corresponding
-modifier keys; a value to @code{left} means be the same key as
+modifier keys; a value of @code{left} means be the same key as
 @code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
 ignore them, in which case you get the default behavior of macOS
 accentuation system from the right option key.
@@ -64,6 +65,7 @@ dialogs to read file names.  However, if you use the regular 
Emacs key
 sequences, such as @kbd{C-x C-f}, Emacs uses the minibuffer to read
 file names.
 
address@hidden copy/paste to/from primary selection (macOS)
   On GNUstep, in an X-windows environment you need to use @kbd{Cmd-c}
 instead of one of the @kbd{C-w} or @kbd{M-w} commands to transfer text
 to the X primary selection; otherwise, Emacs will use the
@@ -76,6 +78,7 @@ clipboard.
 
 @c How is this any different to launching from a window manager menu
 @c in GNU/Linux?  These are sometimes not login shells either.
address@hidden environment variables (macOS)
 Many programs which may run under Emacs, like latex or man, depend on the
 settings of environment variables.  If Emacs is launched from the shell, it
 will automatically inherit these environment variables and its subprocesses
@@ -98,6 +101,7 @@ keys and the fullscreen behavior.  To see all such options, 
use
 
 @subsection Font and Color Panels
 
address@hidden ns-popup-font-panel
 The standard Mac / GNUstep font and color panels are accessible via
 Lisp commands.  The Font Panel may be accessed with @kbd{M-x
 ns-popup-font-panel}.  It will set the default font in the frame most
@@ -106,6 +110,7 @@ recently used or clicked on.
 @c  To make the setting permanent, use @samp{Save Options} in the
 @c Options menu, or run @code{menu-bar-options-save}.
 
address@hidden ns-popup-color-panel
 You can bring up a color panel with @kbd{M-x ns-popup-color-panel} and
 drag the color you want over the Emacs face you want to change.  Normal
 dragging will alter the foreground color.  Shift dragging will alter the
@@ -119,6 +124,7 @@ Useful in this context is the listing of all faces obtained 
by
 @kbd{M-x list-faces-display}.
 
 @cindex Core Text, on macOS
address@hidden font backend, on macOS
 In macOS, Emacs uses a Core Text based font backend
 by default.  If you prefer the older font style, enter the following
 at the command-line before starting Emacs:
@@ -130,6 +136,7 @@ at the command-line before starting Emacs:
 
 @node Mac / GNUstep Events
 @section Windowing System Events under macOS / GNUstep
address@hidden events on macOS
 
   Nextstep applications receive a number of special events which have
 no X equivalent.  These are sent as specially defined key events, which
@@ -152,7 +159,7 @@ You can change how Emacs responds to a @code{ns-open-file} 
event by
 changing the variable @code{ns-pop-up-frames}.  Its default value,
 @samp{fresh}, is what we have just described.  A value of @code{t}
 means to always visit the file in a new frame.  A value of @code{nil}
-means to always visit the file in an existing frame.
+means to always visit the file in the selected frame.
 
 @item ns-open-temp-file
 This event occurs when another application requests that Emacs open a
@@ -195,6 +202,7 @@ This event occurs when the user logs out and Emacs is still 
running, or when
 The default behavior is to save all file-visiting buffers.
 @end table
 
address@hidden using Nextstep services (macOS)
   Emacs also allows users to make use of Nextstep services, via a set
 of commands whose names begin with @samp{ns-service-} and end with the
 name of the service.  Type @kbd{M-x address@hidden to
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index cda4828..9421691 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1181,7 +1181,7 @@ become up-to-date as a direct result of a VC command, it 
is listed.
 
 @noindent
 Two work files have been modified but not committed:
address@hidden in the current directory, and @file{foo.c} in the
address@hidden in the current directory, and @file{main.c} in the
 @file{src/} subdirectory.  The file named @file{README} has been added
 but is not yet committed, while @file{temp.txt} is not under version
 control (@pxref{Registering}).
diff --git a/doc/emacs/msdos.texi b/doc/emacs/msdos.texi
index 9596954..90f0389 100644
--- a/doc/emacs/msdos.texi
+++ b/doc/emacs/msdos.texi
@@ -152,15 +152,16 @@ window.  @xref{emacsclient Options}.
 convention used on GNU, Unix, and other POSIX-compliant systems.
 
 @cindex end-of-line conversion on MS-DOS/MS-Windows
-  By contrast, MS-DOS and MS-Windows normally use carriage-return linefeed,
-a two-character sequence, to separate text lines.  (Linefeed is the same
-character as newline.)  Therefore, convenient editing of typical files
-with Emacs requires conversion of these end-of-line (EOL) sequences.
-And that is what Emacs normally does: it converts carriage-return
-linefeed into newline when reading files, and converts newline into
-carriage-return linefeed when writing files.  The same mechanism that
-handles conversion of international character codes does this conversion
-also (@pxref{Coding Systems}).
+  By contrast, MS-DOS and MS-Windows normally use carriage return
+followed by linefeed, a two-character sequence, to separate text
+lines.  (Linefeed is the same character as newline.)  Therefore,
+convenient editing of typical files with Emacs requires conversion of
+these end-of-line (EOL) sequences.  And that is what Emacs normally
+does: it converts carriage return followed by linefeed into newline
+when reading files, and converts newline into carriage return followed
+by linefeed when writing files.  The same mechanism that handles
+conversion of international character codes does this conversion also
+(@pxref{Coding Systems}).
 
 @cindex cursor location, on MS-DOS
 @cindex point location, on MS-DOS
@@ -169,11 +170,11 @@ that character positions as reported by Emacs 
(@pxref{Position Info}) do
 not agree with the file size information known to the operating system.
 
   In addition, if Emacs recognizes from a file's contents that it uses
-newline rather than carriage-return linefeed as its line separator, it
-does not perform EOL conversion when reading or writing that file.
-Thus, you can read and edit files from GNU and Unix systems on MS-DOS
-with no special effort, and they will retain their Unix-style
-end-of-line convention after you edit them.
+newline rather than carriage return followed by linefeed as its line
+separator, it does not perform EOL conversion when reading or writing
+that file.  Thus, you can read and edit files from GNU and Unix
+systems on MS-DOS with no special effort, and they will retain their
+Unix-style end-of-line convention after you edit them.
 
   The mode line indicates whether end-of-line translation was used for
 the current buffer.  If MS-DOS end-of-line translation is in use for the
@@ -181,20 +182,20 @@ buffer, the MS-Windows build of Emacs displays a 
backslash @samp{\} after
 the coding system mnemonic near the beginning of the mode line
 (@pxref{Mode Line}).  If no EOL translation was performed, the string
 @samp{(Unix)} is displayed instead of the backslash, to alert you that the
-file's EOL format is not the usual carriage-return linefeed.
+file's EOL format is not the usual carriage return followed by linefeed.
 
 @cindex DOS-to-Unix conversion of files
   To visit a file and specify whether it uses DOS-style or Unix-style
 end-of-line, specify a coding system (@pxref{Text Coding}).  For
 example, @kbd{C-x @key{RET} c unix @key{RET} C-x C-f foobar.txt}
 visits the file @file{foobar.txt} without converting the EOLs; if some
-line ends with a carriage-return linefeed pair, Emacs will display
address@hidden at the end of that line.  Similarly, you can direct Emacs to
-save a buffer in a specified EOL format with the @kbd{C-x @key{RET} f}
-command.  For example, to save a buffer with Unix EOL format, type
address@hidden @key{RET} f unix @key{RET} C-x C-s}.  If you visit a file
-with DOS EOL conversion, then save it with Unix EOL format, that
-effectively converts the file to Unix EOL style, like the
+line ends with a carriage return followed by linefeed pair, Emacs will
+display @samp{^M} at the end of that line.  Similarly, you can direct
+Emacs to save a buffer in a specified EOL format with the @kbd{C-x
address@hidden f} command.  For example, to save a buffer with Unix EOL
+format, type @kbd{C-x @key{RET} f unix @key{RET} C-x C-s}.  If you
+visit a file with DOS EOL conversion, then save it with Unix EOL
+format, that effectively converts the file to Unix EOL style, like the
 @code{dos2unix} program.
 
 @cindex untranslated file system
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index 5ddfb7d..401c83d 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -690,8 +690,8 @@ system; for example, to visit a file encoded in codepage 
850, type
   In addition to converting various representations of address@hidden
 characters, a coding system can perform end-of-line conversion.  Emacs
 handles three different conventions for how to separate lines in a file:
-newline (Unix), carriage-return linefeed (DOS), and just
-carriage-return (Mac).
+newline (Unix), carriage return followed by linefeed (DOS), and just
+carriage return (Mac).
 
 @table @kbd
 @item C-h C @var{coding} @key{RET}
@@ -728,8 +728,8 @@ system, including the letter that stands for it in the mode 
line
 @code{no-conversion}, which means no conversion of any kind---specifies
 how and whether to convert printing characters, but leaves the choice of
 end-of-line conversion to be decided based on the contents of each file.
-For example, if the file appears to use the sequence carriage-return
-linefeed to separate lines, DOS end-of-line conversion will be used.
+For example, if the file appears to use the sequence carriage return
+and linefeed to separate lines, DOS end-of-line conversion will be used.
 
   Each of the listed coding systems has three variants, which specify
 exactly what to do for end-of-line conversion:
@@ -741,15 +741,15 @@ newline to separate lines.  (This is the convention 
normally used
 on Unix and GNU systems, and macOS.)
 
 @item @dots{}-dos
-Assume the file uses carriage-return linefeed to separate lines, and do
-the appropriate conversion.  (This is the convention normally used on
-Microsoft address@hidden is also specified for MIME @samp{text/*}
-bodies and in other network transport contexts.  It is different
-from the SGML reference syntax record-start/record-end format, which
-Emacs doesn't support directly.})
+Assume the file uses carriage return followed by linefeed to separate
+lines, and do the appropriate conversion.  (This is the convention
+normally used on Microsoft address@hidden is also specified for
+MIME @samp{text/*} bodies and in other network transport contexts.  It
+is different from the SGML reference syntax record-start/record-end
+format, which Emacs doesn't support directly.})
 
 @item @dots{}-mac
-Assume the file uses carriage-return to separate lines, and do the
+Assume the file uses carriage return to separate lines, and do the
 appropriate conversion.  (This was the convention used in Classic Mac
 OS.)
 @end table
@@ -859,19 +859,19 @@ the third argument says which coding system to use for 
these files.
 @vindex inhibit-eol-conversion
 @cindex DOS-style end-of-line display
   Emacs recognizes which kind of end-of-line conversion to use based on
-the contents of the file: if it sees only carriage-returns, or only
-carriage-return linefeed sequences, then it chooses the end-of-line
-conversion accordingly.  You can inhibit the automatic use of
-end-of-line conversion by setting the variable @code{inhibit-eol-conversion}
-to address@hidden  If you do that, DOS-style files will be displayed
-with the @samp{^M} characters visible in the buffer; some people
-prefer this to the more subtle @samp{(DOS)} end-of-line type
-indication near the left edge of the mode line (@pxref{Mode Line,
-eol-mnemonic}).
+the contents of the file: if it sees only carriage returns, or only
+carriage return followed by linefeed sequences, then it chooses the
+end-of-line conversion accordingly.  You can inhibit the automatic use
+of end-of-line conversion by setting the variable
address@hidden to address@hidden  If you do that,
+DOS-style files will be displayed with the @samp{^M} characters
+visible in the buffer; some people prefer this to the more subtle
address@hidden(DOS)} end-of-line type indication near the left edge of the
+mode line (@pxref{Mode Line, eol-mnemonic}).
 
 @vindex inhibit-iso-escape-detection
 @cindex escape sequences in files
-  By default, the automatic detection of coding system is sensitive to
+  By default, the automatic detection of the coding system is sensitive to
 escape sequences.  If Emacs sees a sequence of characters that begin
 with an escape character, and the sequence is valid as an ISO-2022
 code, that tells Emacs to use one of the ISO-2022 encodings to decode
@@ -1041,7 +1041,7 @@ buffer (@pxref{Output Coding}).
 (@pxref{Coding Systems, end-of-line conversion}) for encoding the
 current buffer.  For example, @kbd{C-x @key{RET} f dos @key{RET}} will
 cause Emacs to save the current buffer's text with DOS-style
-carriage-return linefeed line endings.
+carriage return followed by linefeed line endings.
 
 @kindex C-x RET c
 @findex universal-coding-system-argument
@@ -1344,9 +1344,8 @@ The default fontset is most likely to have fonts for a 
wide variety of
 address@hidden characters, and is the default fallback for the
 other two fontsets, and if you set a default font rather than fontset.
 However, it does not specify font family names, so results can be
-somewhat random if you use it directly.  You can specify use of a
-particular fontset by starting Emacs with the @samp{-fn} option.
-For example,
+somewhat random if you use it directly.  You can specify a particular
+fontset by starting Emacs with the @samp{-fn} option.  For example,
 
 @example
 emacs -fn fontset-standard
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index cb62ce3..0a8bf7c 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -14,6 +14,12 @@
 you receive.  Rmail stores mail messages in files called Rmail files.
 Reading the messages in an Rmail file is done in a special major mode,
 Rmail mode, which redefines most letters to run commands for managing mail.
+
+  Emacs also comes with a much more sophisticated and flexible
+subsystem for reading mail, called Gnus.  Gnus is a very large
+package, and is therefore described in its own manual, see @ref{Top,,,
+gnus, The Gnus Newsreader}.
+
 @menu
 * Basic: Rmail Basics.       Basic concepts of Rmail, and simple use.
 * Scroll: Rmail Scrolling.   Scrolling through a message.
@@ -50,14 +56,15 @@ Rmail file, merges new mail in from your inboxes, displays 
the first
 message you haven't read yet, and lets you begin reading.  The variable
 @code{rmail-file-name} specifies the name of the primary Rmail file.
 
address@hidden current message (Rmail)
   Rmail displays only one message in the Rmail file at a time.
 The message that is shown is called the @dfn{current message}.  Rmail
 mode's special commands can do such things as delete the current
 message, copy it into another file, send a reply, or move to another
-message.  You can also create multiple Rmail files and use Rmail to move
-messages between them.
+message.  You can also create multiple Rmail files (@pxref{Files}) and
+use Rmail to move messages between them (@pxref{Rmail Output}).
 
address@hidden message number
address@hidden message number (Rmail)
   Within the Rmail file, messages are normally arranged sequentially in
 order of receipt; you can specify other ways to sort them (@pxref{Rmail
 Sorting}).  Messages are identified by consecutive integers which are
@@ -72,8 +79,9 @@ with the @kbd{j} key (@pxref{Rmail Motion}).
 become permanent only when you save the file.  You can save it with
 @kbd{s} (@code{rmail-expunge-and-save}), which also expunges deleted
 messages from the file first (@pxref{Rmail Deletion}).  To save the
-file without expunging, use @kbd{C-x C-s}.  Rmail also saves the Rmail
-file after merging new mail from an inbox file (@pxref{Rmail Inbox}).
+file without expunging, use @kbd{C-x C-s}.  Rmail automatically saves
+the Rmail file after merging new mail from an inbox file (@pxref{Rmail
+Inbox}).
 
 @kindex q @r{(Rmail)}
 @findex rmail-quit
@@ -93,9 +101,10 @@ Rmail buffer and its summary without expunging and saving 
the Rmail file.
 @section Scrolling Within a Message
 
   When Rmail displays a message that does not fit on the screen, you
-must scroll through it to read the rest.  You could do this with
address@hidden, @kbd{M-v} and @kbd{M-<}, but in Rmail scrolling is so
-frequent that it deserves to be easier.
+must scroll through it to read the rest.  You could do this with the
+usual scrolling commands: @kbd{C-v}, @kbd{M-v} and @kbd{M-<}
+(@pxref{Scrolling}), but in Rmail scrolling is so frequent that it
+deserves to be easier.
 
 @table @kbd
 @item @key{SPC}
@@ -124,9 +133,10 @@ and @kbd{M-v} (@code{scroll-down-command}) respectively.
   The command @kbd{.} (@code{rmail-beginning-of-message}) scrolls back to the
 beginning of the selected message.  This is not quite the same as @kbd{M-<}:
 for one thing, it does not set the mark; for another, it resets the buffer
-boundaries of the current message if you have changed them.  Similarly,
-the command @kbd{/} (@code{rmail-end-of-message}) scrolls forward to the end
-of the selected message.
+boundaries of the current message if you have changed them (e.g., by
+editing, @pxref{Rmail Editing}).  Similarly, the command @kbd{/}
+(@code{rmail-end-of-message}) scrolls forward to the end of the
+selected message.
 @c The comment about buffer boundaries is still true in mbox Rmail, if
 @c less likely to be relevant.
 
@@ -168,11 +178,9 @@ message number @var{n} (@code{rmail-show-message}).
 Move to the last message (@code{rmail-last-message}).
 @item <
 Move to the first message (@code{rmail-first-message}).
-
 @item M-s @var{regexp} @key{RET}
 Move to the next message containing a match for @var{regexp}
 (@code{rmail-search}).
-
 @item - M-s @var{regexp} @key{RET}
 Move to the previous message containing a match for @var{regexp}.
 (This is @kbd{M-s} with a negative argument.)
@@ -198,7 +206,8 @@ numeric argument to any of these commands serves as a repeat
 count.
 
   In Rmail, you can specify a numeric argument by typing just the
-digits.  You don't need to type @kbd{C-u} first.
+digits.  You don't need to type @kbd{C-u} first.  You can also specify
+a negative argument by typing just @kbd{-}.
 
 @kindex M-s @r{(Rmail)}
 @findex rmail-search
@@ -228,7 +237,9 @@ the next message with the same subject as the current one.  
A prefix
 argument serves as a repeat count.  With a negative argument, this
 command moves backward, acting like @kbd{C-c C-p}
 (@code{rmail-previous-same-subject}).  When comparing subjects, these
-commands ignore the prefixes typically added to the subjects of replies.
+commands ignore the prefixes typically added to the subjects of
+replies.  These commands are useful for reading all of the messages
+pertaining to the same subject, a.k.a.@: @dfn{thread}.
 
 @kindex j @r{(Rmail)}
 @kindex > @r{(Rmail)}
@@ -331,7 +342,7 @@ adding or removing this attribute.  @xref{Rmail Attributes}.
   When you receive mail locally, the operating system places incoming
 mail for you in a file that we call your @dfn{inbox}.  When you start
 up Rmail, it runs a C program called @command{movemail} to copy the new
-messages from your local inbox into your primary Rmail file, which
+messages from your inbox into your primary Rmail file, which
 also contains other messages saved from previous Rmail sessions.  It
 is in this file that you actually read the mail with Rmail.  This
 operation is called @dfn{getting new mail}.  You can get new mail at
@@ -370,19 +381,12 @@ all into a separate Rmail file avoids the need for 
interlocking in all
 the rest of Rmail, since only Rmail operates on the Rmail file.
 @end enumerate
 
address@hidden FIXME remove this in Emacs 25; won't be relevant any more.
address@hidden Babyl files
 @cindex mbox files
-  Rmail was originally written to use the Babyl format as its internal
-format.  Since then, we have recognized that the usual inbox format
-(@samp{mbox}) on Unix and GNU systems is adequate for the job, and so
-since Emacs 23 Rmail uses that as its internal format.  The Rmail file
-is still separate from the inbox file, even though their format is the
-same.
address@hidden But this bit should stay in some form.
 @vindex rmail-mbox-format
-(In fact, there are a few slightly different mbox formats.
-The differences are not very important, but you can set the variable
+  Rmail uses the standard @samp{mbox} format, introduced by Unix and
+GNU systems for inbox files, as its internal format of Rmail files.
+(In fact, there are a few slightly different mbox formats.  The
+differences are not very important, but you can set the variable
 @code{rmail-mbox-format} to tell Rmail which form your system uses.
 See that variable's documentation for more details.)
 
@@ -395,7 +399,8 @@ lose mail.  If @code{rmail-preserve-inbox} is 
address@hidden, then
 Rmail does not clear out the inbox file when it gets new mail.  You
 may wish to set this, for example, on a portable computer you use to
 check your mail via POP while traveling, so that your mail will remain
-on the server and you can save it later on your workstation.
+on the server and you can save it later on your main desktop
+workstation.
 
   In some cases, Rmail copies the new mail from the inbox file
 indirectly.  First it runs the @command{movemail} program to move the mail
@@ -427,14 +432,13 @@ into them with explicit Rmail commands (@pxref{Rmail 
Output}).
 @table @kbd
 @item i @var{file} @key{RET}
 Read @var{file} into Emacs and run Rmail on it (@code{rmail-input}).
-
address@hidden
 @item M-x set-rmail-inbox-list @key{RET} @var{files} @key{RET}
 Specify inbox file names for current Rmail file to get mail from.
-
address@hidden ignore
 @item g
 Merge new mail from current Rmail file's inboxes
 (@code{rmail-get-new-mail}).
-
 @item C-u g @var{file} @key{RET}
 Merge new mail from inbox file @var{file}.
 @end table
@@ -468,6 +472,8 @@ item.  These variables also apply to choosing a file for 
output
 (@pxref{Rmail Output}).
 @c FIXME matches only checked when Rmail file first visited?
 
address@hidden This is commented out because we want to advertise 
rmail-inbox-list
address@hidden instead.
 @ignore
 @findex set-rmail-inbox-list
   Each Rmail file can contain a list of inbox file names; you can specify
@@ -492,6 +498,7 @@ current Rmail file from its inboxes.  If the Rmail file has 
no
 inboxes, @kbd{g} does nothing.  The command @kbd{M-x rmail} also
 merges new mail into your primary Rmail file.
 
address@hidden merge mail from file (Rmail)
   To merge mail from a file that is not the usual inbox, give the
 @kbd{g} key a numeric argument, as in @kbd{C-u g}.  Then it reads a file
 name and merges mail from that file.  The inbox file is not deleted or
@@ -518,9 +525,9 @@ file name from the message @samp{Subject} header.
 @end table
 
 @kindex o @r{(Rmail)}
address@hidden rmail-output-as-seen
address@hidden C-o @r{(Rmail)}
 @findex rmail-output
address@hidden C-o @r{(Rmail)}
address@hidden rmail-output-as-seen
   The commands @kbd{o} and @kbd{C-o} copy the current message into a
 specified file, adding it at the end.  The two commands differ mainly
 in how much to copy: @kbd{o} copies the full message headers, even if
@@ -529,7 +536,7 @@ currently displayed and no more.  @xref{Rmail Display}.  In 
addition,
 @kbd{o} converts the message to Babyl format (used by Rmail in Emacs
 version 22 and before) if the file is in Babyl format; @kbd{C-o}
 cannot output to Babyl files at all.
address@hidden FIXME remove BABYL mention in Emacs 25?
address@hidden FIXME remove BABYL mention in some future version?
 
   If the output file is currently visited in an Emacs buffer, the
 output commands append the message to that buffer.  It is up to you to
@@ -542,8 +549,10 @@ file.  You can save the body to a file (excluding the 
message header)
 with the @kbd{w} command (@code{rmail-output-body-to-file}).  Often
 these messages contain the intended file name in the @samp{Subject}
 field, so the @kbd{w} command uses the @samp{Subject} field as the
-default for the output file name.  However, the file name is read using
-the minibuffer, so you can specify a different name if you wish.
+default for the output file name (after replacing some characters that
+cannot be portably used in file names).  However, the file name is
+read using the minibuffer, so you can specify a different name if you
+wish.
 
   You can also output a message to an Rmail file chosen with a menu.
 In the Classify menu, choose the Output Rmail File menu item; then
@@ -564,7 +573,8 @@ appears in the mode line when such a message is current.
   If you like to keep just a single copy of every mail message, set
 the variable @code{rmail-delete-after-output} to @code{t}; then the
 @kbd{o}, @kbd{C-o} and @kbd{w} commands delete the original message
-after copying it.  (You can undelete it afterward if you wish.)
+after copying it.  (You can undelete it afterward if you wish, see
address@hidden Deletion}.)
 
 @vindex rmail-output-file-alist
   The variable @code{rmail-output-file-alist} lets you specify
@@ -582,7 +592,7 @@ default file name for output is @var{name-exp}.  If 
multiple elements
 match the message, the first matching element decides the default file
 name.  The subexpression @var{name-exp} may be a string constant giving
 the file name to use, or more generally it may be any Lisp expression
-that returns a file name as a string.  @code{rmail-output-file-alist}
+that yields a file name as a string.  @code{rmail-output-file-alist}
 applies to both @kbd{o} and @kbd{C-o}.
 
 @vindex rmail-automatic-folder-directives
@@ -641,8 +651,7 @@ Make a summary of all messages containing any of the labels 
@var{labels}
   The @kbd{a} (@code{rmail-add-label}) and @kbd{k}
 (@code{rmail-kill-label}) commands allow you to assign or remove any
 label on the current message.  If the @var{label} argument is empty, it
-means to assign or remove the same label most recently assigned or
-removed.
+means to assign or remove the label most recently assigned or removed.
 
   Once you have given messages labels to classify them as you wish, there
 are three ways to use the labels: in moving, in summaries, and in sorting.
@@ -717,9 +726,10 @@ standard meaning.
   Rmail has several commands to send outgoing mail.  @xref{Sending
 Mail}, for information on using Message mode, including certain
 features meant to work with Rmail.  What this section documents are
-the special commands of Rmail for entering the mail buffer.  Note that
-the usual keys for sending address@hidden m}, @kbd{C-x 4 m}, and
address@hidden 5 m}---also work normally in Rmail mode.
+the special commands of Rmail for entering the mail buffer used to
+compose the outgoing message.  Note that the usual keys for sending
address@hidden m}, @kbd{C-x 4 m}, and @kbd{C-x 5 m}---also work
+normally in Rmail mode.
 
 @table @kbd
 @item m
@@ -758,9 +768,9 @@ excluded from the @samp{CC} field.  They are also excluded 
from the
 variable is @code{nil}, then the first time you compose a reply it is
 initialized to a default value that matches your own address.
 
-  To omit the @samp{CC} field completely for a particular reply, enter
+  To reply only to the sender of the original message, enter
 the reply command with a numeric argument: @kbd{C-u r} or @kbd{1 r}.
-This means to reply only to the sender of the original message.
+This omits the @samp{CC} field completely for a particular reply.
 
   Once the mail composition buffer has been initialized, editing and
 sending the mail goes as usual (@pxref{Sending Mail}).  You can edit
@@ -930,7 +940,7 @@ commas.
 makes a partial summary mentioning only the messages that have one or
 more recipients matching the regular expression @var{rcpts}.  This is matched
 against the @samp{To}, @samp{From}, and @samp{CC} headers (supply a prefix
-argument to exclude this header).
+argument to exclude the @samp{CC} header).
 
 @kindex C-M-t @r{(Rmail)}
 @findex rmail-summary-by-topic
@@ -976,6 +986,7 @@ different lines.  It doesn't matter what Emacs command you 
use to move
 point; whichever line point is on at the end of the command, that
 message is selected in the Rmail buffer.
 
address@hidden rmail-summary-scroll-between-messages
   Almost all Rmail commands work in the summary buffer as well as in
 the Rmail buffer.  Thus, @kbd{d} in the summary buffer deletes the
 current message, @kbd{u} undeletes, and @kbd{x} expunges.  (However,
@@ -984,8 +995,12 @@ relevant direction, the delete commands go to the first or 
last
 message, rather than staying on the current message.)  @kbd{o} and
 @kbd{C-o} output the current message to a FILE; @kbd{r} starts a reply
 to it; etc.  You can scroll the current message while remaining in the
-summary buffer using @key{SPC} and @key{DEL}.
address@hidden rmail-summary-scroll-between-messages not mentioned.
+summary buffer using @key{SPC} and @key{DEL}.  However, in the summary
+buffer scrolling past the end or the beginning of a message with
address@hidden or @key{DEL} goes, respectively, to the next or previous
+undeleted message.  Customize the
address@hidden option to nil to disable
+scrolling to next/previous messages.
 
 @findex rmail-summary-undelete-many
 @kbd{M-u} (@code{rmail-summary-undelete-many}) undeletes all deleted
@@ -1128,8 +1143,8 @@ biggest to smallest, or in reverse alphabetical order.
 
   The same keys in the summary buffer run similar functions; for
 example, @kbd{C-c C-s C-l} runs @code{rmail-summary-sort-by-lines}.
-Note that these commands always sort the whole Rmail buffer, even if the
-summary is only showing a subset of messages.
+These commands always sort the whole Rmail buffer, even if the summary
+is only showing a subset of messages.
 
   Note that you cannot undo a sort, so you may wish to save the Rmail
 buffer before sorting it.
@@ -1210,14 +1225,15 @@ Toggle between @acronym{MIME} display and raw message
 @end table
 
   Each plain-text @acronym{MIME} part is initially displayed
-immediately after its tagline, as part of the Rmail buffer, while
address@hidden parts of other types are represented only by their
-taglines, with their actual contents hidden.  In either case, you can
-toggle a @acronym{MIME} part between its displayed and hidden
-states by typing @key{RET} anywhere in the part---or anywhere in its
-tagline (except for buttons for other actions, if there are any).  Type
address@hidden (or click with the mouse) to activate a tagline button, and
address@hidden to cycle point between tagline buttons.
+immediately after its tagline, as part of the Rmail buffer (unless the
+message has an @acronym{HTML} part, see below), while @acronym{MIME}
+parts of other types are represented only by their taglines, with
+their actual contents hidden.  In either case, you can toggle a
address@hidden part between its displayed and hidden states by typing
address@hidden anywhere in the part---or anywhere in its tagline (except
+for buttons for other actions, if there are any).  Type @key{RET} (or
+click with the mouse) to activate a tagline button, and @key{TAB} to
+cycle point between tagline buttons.
 
   The @kbd{v} (@code{rmail-mime}) command toggles between the default
 @acronym{MIME} display described above, and a raw display showing
@@ -1322,17 +1338,20 @@ Edit the current message as ordinary text.
 Rmail mode into Rmail Edit mode, another major mode which is nearly the
 same as Text mode.  The mode line indicates this change.
 
address@hidden rmail-cease-edit
address@hidden rmail-abort-edit
   In Rmail Edit mode, letters insert themselves as usual and the Rmail
 commands are not available.  You can edit the message body and header
 fields.  When you are finished editing the message, type @kbd{C-c C-c}
-to switch back to Rmail mode.  Alternatively, you can return to Rmail
-mode but cancel any editing that you have done, by typing @kbd{C-c C-]}.
+(@code{rmail-cease-edit}) to switch back to Rmail mode.
+Alternatively, you can return to Rmail mode but cancel any editing
+that you have done, by typing @kbd{C-c C-]} (@code{rmail-abort-edit}).
 
 @vindex rmail-edit-mode-hook
   Entering Rmail Edit mode runs the hook @code{text-mode-hook}; then
 it runs the hook @code{rmail-edit-mode-hook} (@pxref{Hooks}).
 Returning to ordinary Rmail mode adds the attribute @samp{edited} to
-the message, if you have made any changes in it.
+the message, if you have made any changes in it (@pxref{Rmail Attributes}).
 
 @node Rmail Digest
 @section Digest Messages
@@ -1384,9 +1403,9 @@ version.  There are two versions of the 
@command{movemail} program: the
 GNU Mailutils version (@pxref{movemail,,,mailutils,GNU mailutils}),
 and an Emacs-specific version that is built and installed unless Emacs
 was configured @option{--with-mailutils} in effect.
-The two @command{mailtool} versions support the same
+The two @command{movemail} versions support the same
 command line syntax and the same basic subset of options.  However, the
-Mailutils version offers additional features.
+Mailutils version offers additional features and is more secure.
 
   The Emacs version of @command{movemail} can retrieve mail from the
 usual Unix mailbox formats.  @strong{Warning}: Although it can also use the 
POP3
@@ -1451,8 +1470,8 @@ denotes the name of @code{maildir} mailbox, e.g.,
 @code{maildir:///mail/inbox}.
 
 @item file
-Any local mailbox format.  Its actual format is detected automatically
-by @command{movemail}.
+Any local file in mailbox format.  Its actual format is detected
+automatically by @command{movemail}.
 
 @item pop
 @itemx pops
@@ -1495,19 +1514,19 @@ listed in @code{rmail-movemail-search-path}, then in 
@code{exec-path}
 @section Retrieving Mail from Remote Mailboxes
 @pindex movemail
 
-  Some sites use a method called POP for accessing users' inbox data
+  Some sites use a method called POP3 for accessing users' inbox data
 instead of storing the data in inbox files.  The Mailutils
address@hidden by default supports POP with TLS encryption.
address@hidden:} Although the @command{Emacs movemail} supports POP,
address@hidden by default supports POP3 with TLS encryption.
address@hidden:} Although the @command{Emacs movemail} supports POP3,
 its use for this is not recommended since it does not support encrypted
 connections---the Mailutils version does.
 Both versions of @command{movemail} work only with POP3, not with
 older versions of POP.
 
 @cindex @env{MAILHOST} environment variable
address@hidden POP mailboxes
address@hidden POP3 mailboxes
   You can specify
-a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}).  A POP
+a POP3 inbox by using a POP3 @dfn{URL} (@pxref{Movemail}).  A POP3
 @acronym{URL} is of the form
 @samp{pop://@var{username}@@@var{hostname}:@var{port}}, where
 @var{hostname} and @var{port} are the host name (or IP address)
@@ -1522,11 +1541,11 @@ If using Mailutils @command{movemail}, you may wish to 
use
 @samp{pops} in place of @samp{pop}.
 
   For backward compatibility, Rmail also supports an alternative way of
-specifying remote POP mailboxes.  Specifying an inbox name in the form
+specifying remote POP3 mailboxes.  Specifying an inbox name in the form
 @samp{po:@var{username}:@var{hostname}:@var{port}} is equivalent to
 @samp{pop://@var{username}@@@var{hostname}:@var{port}}.  If you omit the
 @var{:hostname} part, the @env{MAILHOST} environment variable specifies
-the machine on which to look for the POP server.
+the machine on which to look for the POP3 server.
 
 @cindex IMAP mailboxes
   Another method for accessing remote mailboxes is address@hidden  This method 
is
@@ -1561,15 +1580,15 @@ set the variable @code{rmail-movemail-flags} a list of 
the flags you
 wish to use.  Do not use this variable to pass the @samp{-p} flag to
 preserve your inbox contents; use @code{rmail-preserve-inbox} instead.
 
address@hidden Kerberos POP authentication
address@hidden Kerberos POP3 authentication
   The @command{movemail} program installed at your site may support
 Kerberos authentication.  If it is supported, it is used by default
-whenever you attempt to retrieve POP mail when
+whenever you attempt to retrieve POP3 mail when
 @code{rmail-remote-password} and @code{rmail-remote-password-required}
 are unset.
 
address@hidden reverse order in POP inboxes
-  Some POP servers store messages in reverse order.  If your server does
address@hidden reverse order in POP3 inboxes
+  Some POP3 servers store messages in reverse order.  If your server does
 this, and you would rather read your mail in the order in which it was
 received, you can tell @command{movemail} to reverse the order of
 downloaded messages by adding the @samp{-r} flag to
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index 19a4a9e..8f2be4b 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -205,11 +205,11 @@ terminal output.  Furthermore, if you are using an input 
method,
 string is displayed, that indicates a nontrivial end-of-line
 convention for encoding a file.  Usually, lines of text are separated
 by @dfn{newline characters} in a file, but two other conventions are
-sometimes used.  The MS-DOS convention uses a carriage-return
+sometimes used.  The MS-DOS convention uses a carriage return
 character followed by a linefeed character; when editing such
 files, the colon changes to either a backslash (@samp{\}) or
 @samp{(DOS)}, depending on the operating system.  Another convention,
-employed by older Macintosh systems, uses a carriage-return
+employed by older Macintosh systems, uses a carriage return
 character instead of a newline; when editing such files, the colon
 changes to either a forward slash (@samp{/}) or @samp{(Mac)}.  On some
 systems, Emacs displays @samp{(Unix)} instead of the colon for files
diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi
index 33cc2f0..6dd55d0 100644
--- a/doc/lispref/help.texi
+++ b/doc/lispref/help.texi
@@ -744,16 +744,17 @@ This function returns the name of the help buffer, which 
is normally
 @end defun
 
 @vindex help-window-select
address@hidden with-help-window buffer-name address@hidden
address@hidden with-help-window buffer-or-name address@hidden
 This macro evaluates @var{body} like @code{with-output-to-temp-buffer}
-(@pxref{Temporary Displays}), inserting any output produced by its forms
-into a buffer named @var{buffer-name}.  (Usually, @var{buffer-name}
-should be the value returned by the function @code{help-buffer}.)  It
-also puts the specified buffer into Help mode and displays a message
-telling the user how to quit and scroll the help window.  It selects the
-help window if the current value of the user option
address@hidden has been set accordingly.  It returns the last
-value in @var{body}.
+(@pxref{Temporary Displays}), inserting any output produced by its
+forms into a buffer specified by @var{buffer-or-name}, which can be a
+buffer or the name of a buffer.  (Frequently, @var{buffer-or-name} is
+the value returned by the function @code{help-buffer}.)  This macro
+puts the specified buffer into Help mode and displays a message
+telling the user how to quit and scroll the help window.  It selects
+the help window if the current value of the user option
address@hidden has been set accordingly.  It returns the
+last value in @var{body}.
 @end defmac
 
 @defun help-setup-xref item interactive-p
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 8bc7e20..70df555 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -1074,9 +1074,9 @@ that result from encoding unsupported characters.
 used on various systems for representing end of line in files.  The
 Unix convention, used on GNU and Unix systems, is to use the linefeed
 character (also called newline).  The DOS convention, used on
-MS-Windows and MS-DOS systems, is to use a carriage-return and a
+MS-Windows and MS-DOS systems, is to use a carriage return and a
 linefeed at the end of a line.  The Mac convention is to use just
-carriage-return.  (This was the convention used in Classic Mac OS.)
+carriage return.  (This was the convention used in Classic Mac OS.)
 
 @cindex base coding system
 @cindex variant coding system
diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi
index 0a03e24..fdc8bb9 100644
--- a/doc/lispref/positions.texi
+++ b/doc/lispref/positions.texi
@@ -210,7 +210,7 @@ by the current buffer's syntax table (@pxref{Syntax Class 
Table}), but
 modes can override that by setting up a suitable
 @code{find-word-boundary-function-table}, described below.  Characters
 that belong to different scripts (as defined by
address@hidden), also define a word boundary
address@hidden), also define a word boundary
 (@pxref{Character Properties}).  In any case, this function cannot
 move point past the boundary of the accessible portion of the buffer,
 or across a field boundary (@pxref{Fields}).  The most common case of
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index be78a53..0c8c2db 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -33164,7 +33164,7 @@ This switches into the Calc buffer for the duration of 
the macro.
 For example, @samp{(calc-eval "vx5\rVR+" 'macro)} pushes the
 vector @samp{[1,2,3,4,5]} on the stack and then replaces it
 with the sum of those numbers.  Note that @samp{\r} is the Lisp
-notation for the carriage-return, @key{RET}, character.
+notation for the carriage return, @key{RET}, character.
 
 If your keyboard macro wishes to pop the stack, @samp{\C-d} is
 safer than @samp{\177} (the @key{DEL} character) because some
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index a9b29ae..e79b490 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -167,7 +167,7 @@ to writing a completion function."
   (eshell-cmpl--custom-variable-docstring 'pcomplete-suffix-list)
   :type (get 'pcomplete-suffix-list 'custom-type)
   :group 'pcomplete)
-;; Only labelled obsolete in 26.1, but all it does it set
+;; Only labeled obsolete in 26.1, but all it does it set
 ;; pcomplete-suffix-list, which is itself obsolete since 24.1.
 (make-obsolete-variable 'eshell-cmpl-suffix-list nil "24.1")
 
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index ada148d..628c943 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -172,7 +172,7 @@ When found, offer to remove them."
 (defcustom gnus-agent-auto-agentize-methods nil
   "Initially, all servers from these methods are agentized.
 The user may remove or add servers using the Server buffer.
-See Info nodes `(gnus)Server Buffer', `(gnus)Agent Variables'."
+See Info node `(gnus)Server Buffer' and Info node `(gnus)Agent Variables'."
   :version "22.1"
   :type '(repeat symbol)
   :group 'gnus-agent)
diff --git a/lisp/help.el b/lisp/help.el
index 0830dc5..90be457 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -1309,15 +1309,14 @@ Return VALUE."
 
 ;; (4) A marker (`help-window-point-marker') to move point in the help
 ;;     window to an arbitrary buffer position.
-(defmacro with-help-window (buffer-name &rest body)
-  "Display buffer named BUFFER-NAME in a help window.
-Evaluate the forms in BODY with standard output bound to a buffer
-called BUFFER-NAME (creating it if it does not exist), put that
-buffer in `help-mode', display the buffer in a window (see
-`with-temp-buffer-window' for details) and issue a message how to
-deal with that \"help\" window when it's no more needed.  Select
-the help window if the current value of the user option
-`help-window-select' says so.  Return last value in BODY."
+(defmacro with-help-window (buffer-or-name &rest body)
+  "Evaluate BODY, send output to BUFFER-OR-NAME and show in a help window.
+This construct is like `with-temp-buffer-window' but unlike that
+puts the buffer specified by BUFFER-OR-NAME in `help-mode' and
+displays a message about how to delete the help window when it's no
+longer needed.  The help window will be selected if
+`help-window-select' is non-nil.  See `help-window-setup' for
+more options."
   (declare (indent 1) (debug t))
   `(progn
      ;; Make `help-window-point-marker' point nowhere.  The only place
@@ -1329,7 +1328,7 @@ the help window if the current value of the user option
            (cons 'help-mode-finish temp-buffer-window-show-hook)))
        (setq help-window-old-frame (selected-frame))
        (with-temp-buffer-window
-       ,buffer-name nil 'help-window-setup (progn ,@body)))))
+       ,buffer-or-name nil 'help-window-setup (progn ,@body)))))
 
 ;; Called from C, on encountering `help-char' when reading a char.
 ;; Don't print to *Help*; that would clobber Help history.
diff --git a/lisp/json.el b/lisp/json.el
index b03a482..d374f45 100644
--- a/lisp/json.el
+++ b/lisp/json.el
@@ -685,7 +685,7 @@ become JSON objects."
       (push (list c 'json-read-number) table))
     (pcase-dolist (`(,c . ,rest) table)
       (push `((eq ,char ,c) (,@rest)) res))
-    `(cond ,@res (t (signal 'json-readtable-error ,char)))))
+    `(cond ,@res (t (signal 'json-readtable-error (list ,char))))))
 
 (defun json-read ()
   "Parse and return the JSON object following point.
diff --git a/lisp/simple.el b/lisp/simple.el
index fa93cf8..7d8010f 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -7080,11 +7080,13 @@ current object."
 With argument ARG, do this that many times.
 If ARG is omitted or nil, move point backward one word.
 
-The word boundaries are normally determined by the buffer's syntax
-table, but `find-word-boundary-function-table', such as set up
-by `subword-mode', can change that.  If a Lisp program needs to
-move by words determined strictly by the syntax table, it should
-use `backward-word-strictly' instead."
+The word boundaries are normally determined by the buffer's
+syntax table and character script (according to
+`char-script-table'), but `find-word-boundary-function-table',
+such as set up by `subword-mode', can change that.  If a Lisp
+program needs to move by words determined strictly by the syntax
+table, it should use `backward-word-strictly' instead.  See Info
+node `(elisp) Word Motion' for details."
   (interactive "^p")
   (forward-word (- (or arg 1))))
 
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 15004ed..79eb22e 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -3871,7 +3871,7 @@ Otherwise display the beginning of entry."
 (defun bibtex-mark-entry ()
   "Put mark at beginning, point at end of current BibTeX entry."
   (interactive)
-  (push-mark (bibtex-beginning-of-entry))
+  (push-mark (bibtex-beginning-of-entry) :activate t)
   (bibtex-end-of-entry))
 
 (defun bibtex-count-entries (&optional count-string-entries)
diff --git a/src/minibuf.c b/src/minibuf.c
index 95e62ce..45cf152 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1626,13 +1626,13 @@ COLLECTION can also be a function to do the completion 
itself.
 PREDICATE limits completion to a subset of COLLECTION.
 See `try-completion', `all-completions', `test-completion',
 and `completion-boundaries', for more details on completion,
-COLLECTION, and PREDICATE.  See also Info nodes `(elisp)Basic Completion'
-for the details about completion, and `(elisp)Programmed Completion' for
-expectations from COLLECTION when it's a function.
+COLLECTION, and PREDICATE.  See also Info node `(elisp)Basic Completion'
+for the details about completion, and Info node `(elisp)Programmed
+Completion' for expectations from COLLECTION when it's a function.
 
 REQUIRE-MATCH can take the following values:
-- t means that the user is not allowed to exit unless
-  the input is (or completes to) an element of COLLECTION or is null.
+- t means that the user is not allowed to exit unless the input is (or
+  completes to) an element of COLLECTION or is null.
 - nil means that the user can exit with any input.
 - `confirm' means that the user can exit with any input, but she needs
   to confirm her choice if the input is not an element of COLLECTION.
@@ -1643,19 +1643,19 @@ REQUIRE-MATCH can take the following values:
 - anything else behaves like t except that typing RET does not exit if it
   does non-null completion.
 
-If the input is null, `completing-read' returns DEF, or the first element
-of the list of default values, or an empty string if DEF is nil,
-regardless of the value of REQUIRE-MATCH.
+If the input is null, `completing-read' returns DEF, or the first
+element of the list of default values, or an empty string if DEF is
+nil, regardless of the value of REQUIRE-MATCH.
 
 If INITIAL-INPUT is non-nil, insert it in the minibuffer initially,
-  with point positioned at the end.
-  If it is (STRING . POSITION), the initial input is STRING, but point
-  is placed at _zero-indexed_ position POSITION in STRING.  (*Note*
-  that this is different from `read-from-minibuffer' and related
-  functions, which use one-indexing for POSITION.)  This feature is
-  deprecated--it is best to pass nil for INITIAL-INPUT and supply the
-  default value DEF instead.  The user can yank the default value into
-  the minibuffer easily using \\<minibuffer-local-map>\\[next-history-element].
+  with point positioned at the end.  If it is (STRING . POSITION), the
+  initial input is STRING, but point is placed at _zero-indexed_
+  position POSITION in STRING.  (*Note* that this is different from
+  `read-from-minibuffer' and related functions, which use one-indexing
+  for POSITION.)  This feature is deprecated--it is best to pass nil
+  for INITIAL-INPUT and supply the default value DEF instead.  The
+  user can yank the default value into the minibuffer easily using
+  \\<minibuffer-local-map>\\[next-history-element].
 
 HIST, if non-nil, specifies a history list and optionally the initial
   position in the list.  It can be a symbol, which is the history list
@@ -1663,16 +1663,16 @@ HIST, if non-nil, specifies a history list and 
optionally the initial
   that case, HISTVAR is the history list variable to use, and HISTPOS
   is the initial position (the position in the list used by the
   minibuffer history commands).  For consistency, you should also
-  specify that element of the history as the value of
-  INITIAL-INPUT.  (This is the only case in which you should use
-  INITIAL-INPUT instead of DEF.)  Positions are counted starting from
-  1 at the beginning of the list.  The variable `history-length'
-  controls the maximum length of a history list.
+  specify that element of the history as the value of INITIAL-INPUT.
+  (This is the only case in which you should use INITIAL-INPUT instead
+  of DEF.)  Positions are counted starting from 1 at the beginning of
+  the list.  The variable `history-length' controls the maximum length
+  of a history list.
 
 DEF, if non-nil, is the default value or the list of default values.
 
-If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits
-  the current input method and the setting of `enable-multibyte-characters'.
+If INHERIT-INPUT-METHOD is non-nil, the minibuffer inherits the
+  current input method and the setting of `enable-multibyte-characters'.
 
 Completion ignores case if the ambient value of
   `completion-ignore-case' is non-nil.
diff --git a/src/syntax.c b/src/syntax.c
index 20c6074..c5a4b03 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -1573,10 +1573,11 @@ left there and the function returns nil.  Field 
boundaries are not
 noticed if `inhibit-field-text-motion' is non-nil.
 
 The word boundaries are normally determined by the buffer's syntax
-table, but `find-word-boundary-function-table', such as set up
-by `subword-mode', can change that.  If a Lisp program needs to
-move by words determined strictly by the syntax table, it should
-use `forward-word-strictly' instead.  */)
+table and character script (according to `char-script-table'), but
+`find-word-boundary-function-table', such as set up by `subword-mode',
+can change that.  If a Lisp program needs to move by words determined
+strictly by the syntax table, it should use `forward-word-strictly'
+instead.  See Info node `(elisp) Word Motion' for details.  */)
   (Lisp_Object arg)
 {
   Lisp_Object tmp;
diff --git a/src/xterm.c b/src/xterm.c
index db5ea4a..0fcd7ef 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -12422,12 +12422,16 @@ x_term_init (Lisp_Object display_name, char 
*xrm_option, char *resource_name)
         unrequest_sigio (); /* See comment in x_display_ok.  */
         gtk_init (&argc, &argv2);
         request_sigio ();
-        fixup_locale ();
 
         g_log_remove_handler ("GLib", id);
 
         xg_initialize ();
 
+       /* Do this after the call to xg_initialize, because when
+          Fontconfig is used, xg_initialize calls its initialization
+          function which in some versions of Fontconfig calls setlocale.  */
+       fixup_locale ();
+
         dpy = DEFAULT_GDK_DISPLAY ();
 
 #if ! GTK_CHECK_VERSION (2, 90, 0)
diff --git a/test/lisp/json-tests.el b/test/lisp/json-tests.el
index 47f8047..ea562e8 100644
--- a/test/lisp/json-tests.el
+++ b/test/lisp/json-tests.el
@@ -309,7 +309,8 @@ Point is moved to beginning of the buffer."
   (json-tests--with-temp-buffer ""
     (should-error (json-read) :type 'json-end-of-file))
   (json-tests--with-temp-buffer "xxx"
-    (should-error (json-read) :type 'json-readtable-error)))
+    (let ((err (should-error (json-read) :type 'json-readtable-error)))
+      (should (equal (cdr err) '(?x))))))
 
 (ert-deftest test-json-read-from-string ()
   (let ((json-string "{ \"a\": 1 }"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]