aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2018-02-20 07:50:29 -0800
committerGlenn Morris2018-02-20 07:50:29 -0800
commit650febcd3ec1cfe0c686414c9c8f1a7caaeefe71 (patch)
tree534fc96cc86b769db3e2124b347b7be5e155d94d
parent3d42272754db914d4f2dbbcfba5ce6776a7b232b (diff)
parent226aca32a784c4edebdec6a16eb90930aae64c06 (diff)
downloademacs-650febcd3ec1cfe0c686414c9c8f1a7caaeefe71.tar.gz
emacs-650febcd3ec1cfe0c686414c9c8f1a7caaeefe71.zip
Merge from origin/emacs-26
226aca3 (origin/emacs-26) Fix documentation of 'flyspell-auto-correct... a8c8434 * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup. 275e735 More changes in the Emacs manuals d962be5 More fixes in the Emacs manual 6dc2846 * src/data.c (Faref): Fix a typo in the doc string. (Bug#30510) 36e729f Minor edit in tramp.texi 6537f99 ; Fix oversight from last commit eb94588 ; * doc/emacs/maintaining.texi: Fix two typos. 258135f More improvements in the Emacs manual f138bca Improve documentation of 'electric-pair-mode' f74ab96 ; Spelling and grammar fixes. 42f9dc4 ; * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): ...
-rw-r--r--ChangeLog.22
-rw-r--r--ChangeLog.32
-rw-r--r--doc/emacs/abbrevs.texi17
-rw-r--r--doc/emacs/basic.texi12
-rw-r--r--doc/emacs/custom.texi28
-rw-r--r--doc/emacs/maintaining.texi36
-rw-r--r--doc/emacs/misc.texi2
-rw-r--r--doc/emacs/programs.texi17
-rw-r--r--doc/misc/cl.texi7
-rw-r--r--lisp/ChangeLog.62
-rw-r--r--lisp/elec-pair.el7
-rw-r--r--lisp/emacs-lisp/byte-opt.el2
-rw-r--r--lisp/progmodes/cc-engine.el4
-rw-r--r--lisp/textmodes/flyspell.el21
-rw-r--r--src/data.c4
15 files changed, 105 insertions, 58 deletions
diff --git a/ChangeLog.2 b/ChangeLog.2
index 356fbc788f3..b17cc3c04b8 100644
--- a/ChangeLog.2
+++ b/ChangeLog.2
@@ -26364,7 +26364,7 @@
26364 (verilog-calc-1): Detect 'pure virtual method' declarations which 26364 (verilog-calc-1): Detect 'pure virtual method' declarations which
26365 exist in abstract classes. Reported by Enzo Chi and Kaushal Modi. 26365 exist in abstract classes. Reported by Enzo Chi and Kaushal Modi.
26366 (verilog-backward-ws&directives): When moving back to the start of 26366 (verilog-backward-ws&directives): When moving back to the start of
26367 a line and the preceeding line ended with an escaped-newline, then 26367 a line and the preceding line ended with an escaped-newline, then
26368 jump up one line. This properly consumes a multi-line 26368 jump up one line. This properly consumes a multi-line
26369 pre-processor directive. Reported by Kaushal Modi. 26369 pre-processor directive. Reported by Kaushal Modi.
26370 (verilog-dpi-import-export-re, verilog-extended-complete-re) 26370 (verilog-dpi-import-export-re, verilog-extended-complete-re)
diff --git a/ChangeLog.3 b/ChangeLog.3
index 1c630f7fd25..f68ba58cacd 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -9905,7 +9905,7 @@
9905 9905
9906 * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO 9906 * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
9907 section detection in several langages: French, German, Spanish, 9907 section detection in several langages: French, German, Spanish,
9908 Portugese, Italian, Polish, Turkish, Japanese, Chinese. (Bug#28142) 9908 Portuguese, Italian, Polish, Turkish, Japanese, Chinese. (Bug#28142)
9909 9909
99102017-08-26 Paul Eggert <eggert@cs.ucla.edu> 99102017-08-26 Paul Eggert <eggert@cs.ucla.edu>
9911 9911
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi
index 9349d2d5baa..00b9e560ac0 100644
--- a/doc/emacs/abbrevs.texi
+++ b/doc/emacs/abbrevs.texi
@@ -72,18 +72,24 @@ use in later sessions.
72@item C-x a g 72@item C-x a g
73Define an abbrev, using one or more words before point as its expansion 73Define an abbrev, using one or more words before point as its expansion
74(@code{add-global-abbrev}). 74(@code{add-global-abbrev}).
75
75@item C-x a l 76@item C-x a l
76Similar, but define an abbrev specific to the current major mode 77Similar, but define an abbrev specific to the current major mode
77(@code{add-mode-abbrev}). 78(@code{add-mode-abbrev}).
79
78@item C-x a i g 80@item C-x a i g
79Define a word in the buffer as an abbrev (@code{inverse-add-global-abbrev}). 81Define a word in the buffer as an abbrev (@code{inverse-add-global-abbrev}).
82
80@item C-x a i l 83@item C-x a i l
81Define a word in the buffer as a mode-specific abbrev 84Define a word in the buffer as a mode-specific abbrev
82(@code{inverse-add-mode-abbrev}). 85(@code{inverse-add-mode-abbrev}).
86
83@item M-x define-global-abbrev @key{RET} @var{abbrev} @key{RET} @var{exp} @key{RET} 87@item M-x define-global-abbrev @key{RET} @var{abbrev} @key{RET} @var{exp} @key{RET}
84Define @var{abbrev} as an abbrev expanding into @var{exp}. 88Define @var{abbrev} as an abbrev expanding into @var{exp}.
89
85@item M-x define-mode-abbrev @key{RET} @var{abbrev} @key{RET} @var{exp} @key{RET} 90@item M-x define-mode-abbrev @key{RET} @var{abbrev} @key{RET} @var{exp} @key{RET}
86Define @var{abbrev} as a mode-specific abbrev expanding into @var{exp}. 91Define @var{abbrev} as a mode-specific abbrev expanding into @var{exp}.
92
87@item M-x kill-all-abbrevs 93@item M-x kill-all-abbrevs
88Discard all abbrev definitions, leaving a blank slate. 94Discard all abbrev definitions, leaving a blank slate.
89@end table 95@end table
@@ -160,10 +166,16 @@ to @samp{FIND OUTER OTTER}.
160@item M-' 166@item M-'
161Separate a prefix from a following abbrev to be expanded 167Separate a prefix from a following abbrev to be expanded
162(@code{abbrev-prefix-mark}). 168(@code{abbrev-prefix-mark}).
169
163@item C-x a e 170@item C-x a e
164@findex expand-abbrev 171@findex expand-abbrev
165Expand the abbrev before point (@code{expand-abbrev}). 172Expand the abbrev before point (@code{expand-abbrev}).
166This is effective even when Abbrev mode is not enabled. 173This is effective even when Abbrev mode is not enabled.
174
175@item M-x unexpand-abbrev
176@findex unexpand-abbrev
177Undo the expansion of the last expanded abbrev.
178
167@item M-x expand-region-abbrevs 179@item M-x expand-region-abbrevs
168Expand some or all abbrevs found in the region. 180Expand some or all abbrevs found in the region.
169@end table 181@end table
@@ -188,7 +200,6 @@ its expansion, you can accomplish this by inserting the following
188punctuation with @kbd{C-q}. Thus, @kbd{foo C-q ,} leaves @samp{foo,} in 200punctuation with @kbd{C-q}. Thus, @kbd{foo C-q ,} leaves @samp{foo,} in
189the buffer, not expanding it. 201the buffer, not expanding it.
190 202
191@findex unexpand-abbrev
192 If you expand an abbrev by mistake, you can undo the expansion by 203 If you expand an abbrev by mistake, you can undo the expansion by
193typing @kbd{C-/} (@code{undo}). @xref{Undo}. This undoes the 204typing @kbd{C-/} (@code{undo}). @xref{Undo}. This undoes the
194insertion of the abbrev expansion and brings back the abbrev text. If 205insertion of the abbrev expansion and brings back the abbrev text. If
@@ -219,6 +230,7 @@ Reference Manual}.
219@item M-x list-abbrevs 230@item M-x list-abbrevs
220Display a list of all abbrev definitions. With a numeric argument, list 231Display a list of all abbrev definitions. With a numeric argument, list
221only local abbrevs. 232only local abbrevs.
233
222@item M-x edit-abbrevs 234@item M-x edit-abbrevs
223Edit a list of abbrevs; you can add, alter or remove definitions. 235Edit a list of abbrevs; you can add, alter or remove definitions.
224@end table 236@end table
@@ -278,10 +290,13 @@ sessions.
278@table @kbd 290@table @kbd
279@item M-x write-abbrev-file @key{RET} @var{file} @key{RET} 291@item M-x write-abbrev-file @key{RET} @var{file} @key{RET}
280Write a file @var{file} describing all defined abbrevs. 292Write a file @var{file} describing all defined abbrevs.
293
281@item M-x read-abbrev-file @key{RET} @var{file} @key{RET} 294@item M-x read-abbrev-file @key{RET} @var{file} @key{RET}
282Read the file @var{file} and define abbrevs as specified therein. 295Read the file @var{file} and define abbrevs as specified therein.
296
283@item M-x define-abbrevs 297@item M-x define-abbrevs
284Define abbrevs from definitions in current buffer. 298Define abbrevs from definitions in current buffer.
299
285@item M-x insert-abbrevs 300@item M-x insert-abbrevs
286Insert all abbrevs and their expansions into current buffer. 301Insert all abbrevs and their expansions into current buffer.
287@end table 302@end table
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index 4db3855dd9c..aa91f0555e1 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -778,12 +778,12 @@ lines).
778 778
779 You can use a numeric argument before a self-inserting character to 779 You can use a numeric argument before a self-inserting character to
780insert multiple copies of it. This is straightforward when the 780insert multiple copies of it. This is straightforward when the
781character is not a digit; for example, @kbd{C-u 6 4 a} inserts 64 781character is not a digit; for example, @w{@kbd{C-u 6 4 a}} inserts 64
782copies of the character @samp{a}. But this does not work for 782copies of the character @samp{a}. But this does not work for
783inserting digits; @kbd{C-u 6 4 1} specifies an argument of 641. You 783inserting digits; @w{@kbd{C-u 6 4 1}} specifies an argument of 641.
784can separate the argument from the digit to insert with another 784You can separate the argument from the digit to insert with another
785@kbd{C-u}; for example, @kbd{C-u 6 4 C-u 1} does insert 64 copies of 785@kbd{C-u}; for example, @w{@kbd{C-u 6 4 C-u 1}} does insert 64 copies
786the character @samp{1}. 786of the character @samp{1}.
787 787
788 Some commands care whether there is an argument, but ignore its 788 Some commands care whether there is an argument, but ignore its
789value. For example, the command @kbd{M-q} (@code{fill-paragraph}) 789value. For example, the command @kbd{M-q} (@code{fill-paragraph})
@@ -822,7 +822,7 @@ invoking the command.
822@cindex repeating a command 822@cindex repeating a command
823 823
824 Many simple commands, such as those invoked with a single key or 824 Many simple commands, such as those invoked with a single key or
825with @kbd{M-x @var{command-name} @key{RET}}, can be repeated by 825with @w{@kbd{M-x @var{command-name} @key{RET}}}, can be repeated by
826invoking them with a numeric argument that serves as a repeat count 826invoking them with a numeric argument that serves as a repeat count
827(@pxref{Arguments}). However, if the command you want to repeat 827(@pxref{Arguments}). However, if the command you want to repeat
828prompts for input, or uses a numeric argument in another way, that 828prompts for input, or uses a numeric argument in another way, that
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index b985d12cde4..07ddd1f23b9 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -109,7 +109,7 @@ group, which contains several other groups (@samp{Editing},
109listed here, only one line of documentation each. 109listed here, only one line of documentation each.
110 110
111 The @dfn{state} of the group indicates whether setting in that group 111 The @dfn{state} of the group indicates whether setting in that group
112has been edited, set or saved. @xref{Changing a Variable}. 112has been edited, set, or saved. @xref{Changing a Variable}.
113 113
114@cindex editable fields (customization buffer) 114@cindex editable fields (customization buffer)
115@cindex buttons (customization buffer) 115@cindex buttons (customization buffer)
@@ -168,7 +168,7 @@ search field, except that it reads the search term(s) using the
168minibuffer. @xref{Specific Customization}. 168minibuffer. @xref{Specific Customization}.
169 169
170 @kbd{M-x customize-browse} is another way to browse the available 170 @kbd{M-x customize-browse} is another way to browse the available
171settings. This command creates a special customization buffer which 171settings. This command creates a special customization buffer, which
172shows only the names of groups and settings, in a structured layout. 172shows only the names of groups and settings, in a structured layout.
173You can show the contents of a group, in the same buffer, by invoking 173You can show the contents of a group, in the same buffer, by invoking
174the @samp{[+]} button next to the group name. When the group contents 174the @samp{[+]} button next to the group name. When the group contents
@@ -580,7 +580,7 @@ directory specified by the variable @code{custom-theme-directory}
580(which defaults to @file{~/.emacs.d/}), and a directory named 580(which defaults to @file{~/.emacs.d/}), and a directory named
581@file{etc/themes} in your Emacs installation (see the variable 581@file{etc/themes} in your Emacs installation (see the variable
582@code{data-directory}). The latter contains several Custom themes 582@code{data-directory}). The latter contains several Custom themes
583which are distributed with Emacs, which customize Emacs's faces to fit 583distributed with Emacs that customize Emacs's faces to fit
584various color schemes. (Note, however, that Custom themes need not be 584various color schemes. (Note, however, that Custom themes need not be
585restricted to this purpose; they can be used to customize variables 585restricted to this purpose; they can be used to customize variables
586too.) 586too.)
@@ -663,7 +663,7 @@ to insert some common Emacs faces into the theme (a convenience, since
663Custom themes are often used to customize faces). If you answer no, 663Custom themes are often used to customize faces). If you answer no,
664the theme will initially contain no settings. 664the theme will initially contain no settings.
665 665
666 Near the top of the @file{*Custom Theme*} buffer are editable fields 666 Near the top of the @file{*Custom Theme*} buffer, there are editable fields
667where you can enter the theme's name and description. The name can be 667where you can enter the theme's name and description. The name can be
668anything except @samp{user}. The description is the one that will be 668anything except @samp{user}. The description is the one that will be
669shown when you invoke @kbd{M-x describe-theme} for the theme. Its 669shown when you invoke @kbd{M-x describe-theme} for the theme. Its
@@ -1427,7 +1427,7 @@ of lower-case letters and hyphens.
1427 1427
1428 A @dfn{key sequence} (@dfn{key}, for short) is a sequence of 1428 A @dfn{key sequence} (@dfn{key}, for short) is a sequence of
1429@dfn{input events} that have a meaning as a unit. Input events 1429@dfn{input events} that have a meaning as a unit. Input events
1430include characters, function keys and mouse buttons---all the inputs 1430include characters, function keys, and mouse buttons---all the inputs
1431that you can send to the computer. A key sequence gets its meaning 1431that you can send to the computer. A key sequence gets its meaning
1432from its @dfn{binding}, which says what command it runs. 1432from its @dfn{binding}, which says what command it runs.
1433 1433
@@ -1460,7 +1460,7 @@ can even mix mouse events with keyboard events, such as
1460@kbd{S-down-mouse-1}. 1460@kbd{S-down-mouse-1}.
1461 1461
1462 On text terminals, typing a function key actually sends the computer 1462 On text terminals, typing a function key actually sends the computer
1463a sequence of characters; the precise details of the sequence depends 1463a sequence of characters; the precise details of the sequence depend
1464on the function key and on the terminal type. (Often the sequence 1464on the function key and on the terminal type. (Often the sequence
1465starts with @kbd{@key{ESC} [}.) If Emacs understands your terminal 1465starts with @kbd{@key{ESC} [}.) If Emacs understands your terminal
1466type properly, it automatically handles such sequences as single input 1466type properly, it automatically handles such sequences as single input
@@ -1484,7 +1484,7 @@ the same, but it provides a command name for the prefix key that can be
1484used as a description of what the prefix key is for. Thus, the binding 1484used as a description of what the prefix key is for. Thus, the binding
1485of @kbd{C-x} is the symbol @code{Control-X-prefix}, whose function 1485of @kbd{C-x} is the symbol @code{Control-X-prefix}, whose function
1486definition is the keymap for @kbd{C-x} commands. The definitions of 1486definition is the keymap for @kbd{C-x} commands. The definitions of
1487@kbd{C-c}, @kbd{C-x}, @kbd{C-h} and @key{ESC} as prefix keys appear in 1487@kbd{C-c}, @kbd{C-x}, @kbd{C-h}, and @key{ESC} as prefix keys appear in
1488the global map, so these prefix keys are always available. 1488the global map, so these prefix keys are always available.
1489 1489
1490 Aside from ordinary prefix keys, there is a fictitious ``prefix key'' 1490 Aside from ordinary prefix keys, there is a fictitious ``prefix key''
@@ -1669,6 +1669,8 @@ command is less work to invoke when you really want to.
1669@node Init Rebinding 1669@node Init Rebinding
1670@subsection Rebinding Keys in Your Init File 1670@subsection Rebinding Keys in Your Init File
1671@cindex rebinding major mode keys 1671@cindex rebinding major mode keys
1672@cindex key rebinding, permanent
1673@cindex rebinding keys, permanently
1672@c This node is referenced in the tutorial. When renaming or deleting 1674@c This node is referenced in the tutorial. When renaming or deleting
1673@c it, the tutorial needs to be adjusted. (TUTORIAL.de) 1675@c it, the tutorial needs to be adjusted. (TUTORIAL.de)
1674 1676
@@ -1795,7 +1797,7 @@ could make @kbd{M-a} and @kbd{M-A} run different commands.
1795 1797
1796 Although only the @key{Control} and @key{META} modifier keys are 1798 Although only the @key{Control} and @key{META} modifier keys are
1797commonly used, Emacs supports three other modifier keys. These are 1799commonly used, Emacs supports three other modifier keys. These are
1798called @key{Super}, @key{Hyper} and @key{Alt}. Few terminals provide 1800called @key{Super}, @key{Hyper}, and @key{Alt}. Few terminals provide
1799ways to use these modifiers; the key labeled @key{Alt} on most 1801ways to use these modifiers; the key labeled @key{Alt} on most
1800keyboards usually issues the @key{META} modifier, not @key{Alt}. The 1802keyboards usually issues the @key{META} modifier, not @key{Alt}. The
1801standard key bindings in Emacs do not include any characters with 1803standard key bindings in Emacs do not include any characters with
@@ -1856,7 +1858,7 @@ key.
1856 @xref{Init Rebinding}, for examples of binding function keys. 1858 @xref{Init Rebinding}, for examples of binding function keys.
1857 1859
1858@cindex keypad 1860@cindex keypad
1859 Many keyboards have a numeric keypad on the right hand side. 1861 Many keyboards have a numeric keypad on the right-hand side.
1860The numeric keys in the keypad double up as cursor motion keys, 1862The numeric keys in the keypad double up as cursor motion keys,
1861toggled by a key labeled @samp{Num Lock}. By default, Emacs 1863toggled by a key labeled @samp{Num Lock}. By default, Emacs
1862translates these keys to the corresponding keys on the main keyboard. 1864translates these keys to the corresponding keys on the main keyboard.
@@ -1882,7 +1884,7 @@ prefix arguments.
1882@node Named ASCII Chars 1884@node Named ASCII Chars
1883@subsection Named @acronym{ASCII} Control Characters 1885@subsection Named @acronym{ASCII} Control Characters
1884 1886
1885 @key{TAB}, @key{RET}, @key{BS}, @key{LFD}, @key{ESC} and @key{DEL} 1887 @key{TAB}, @key{RET}, @key{BS}, @key{LFD}, @key{ESC}, and @key{DEL}
1886started out as names for certain @acronym{ASCII} control characters, 1888started out as names for certain @acronym{ASCII} control characters,
1887used so often that they have special keys of their own. For instance, 1889used so often that they have special keys of their own. For instance,
1888@key{TAB} was another name for @kbd{C-i}. Later, users found it 1890@key{TAB} was another name for @kbd{C-i}. Later, users found it
@@ -1999,7 +2001,7 @@ units of 1/8 of a character cell on text-mode terminals; the default is
1999 2001
2000 The symbols for mouse events also indicate the status of the modifier 2002 The symbols for mouse events also indicate the status of the modifier
2001keys, with the usual prefixes @samp{C-}, @samp{M-}, @samp{H-}, 2003keys, with the usual prefixes @samp{C-}, @samp{M-}, @samp{H-},
2002@samp{s-}, @samp{A-} and @samp{S-}. These always precede @samp{double-} 2004@samp{s-}, @samp{A-}, and @samp{S-}. These always precede @samp{double-}
2003or @samp{triple-}, which always precede @samp{drag-} or @samp{down-}. 2005or @samp{triple-}, which always precede @samp{drag-} or @samp{down-}.
2004 2006
2005 A frame includes areas that don't show text from the buffer, such as 2007 A frame includes areas that don't show text from the buffer, such as
@@ -2099,8 +2101,6 @@ as a function from Lisp programs.
2099@cindex .emacs file 2101@cindex .emacs file
2100@cindex ~/.emacs file 2102@cindex ~/.emacs file
2101@cindex Emacs initialization file 2103@cindex Emacs initialization file
2102@cindex key rebinding, permanent
2103@cindex rebinding keys, permanently
2104@cindex startup (init file) 2104@cindex startup (init file)
2105 2105
2106 When Emacs is started, it normally tries to load a Lisp program from 2106 When Emacs is started, it normally tries to load a Lisp program from
@@ -2311,7 +2311,7 @@ name.
2311 2311
2312@need 1500 2312@need 1500
2313@item 2313@item
2314Set up defaults for the Latin-1 character set 2314Set up defaults for the Latin-1 character set,
2315which supports most of the languages of Western Europe. 2315which supports most of the languages of Western Europe.
2316 2316
2317@example 2317@example
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 541bf9708ba..23e08a58e88 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1611,7 +1611,7 @@ To change this, customize @code{change-log-directory-files}.
1611 1611
1612@vindex add-log-keep-changes-together 1612@vindex add-log-keep-changes-together
1613 When the variable @code{add-log-keep-changes-together} is 1613 When the variable @code{add-log-keep-changes-together} is
1614non-@code{nil}, @kbd{C-x 4 a} adds to any existing item for the file 1614non-@code{nil}, @kbd{C-x 4 a} adds to any existing item for the file,
1615rather than starting a new item. 1615rather than starting a new item.
1616 1616
1617You can combine multiple changes of the same nature. If you don't 1617You can combine multiple changes of the same nature. If you don't
@@ -1827,7 +1827,7 @@ If the specified identifier has only one definition, the command jumps
1827to it. If the identifier has more than one possible definition (e.g., 1827to it. If the identifier has more than one possible definition (e.g.,
1828in an object-oriented language, or if there's a function and a 1828in an object-oriented language, or if there's a function and a
1829variable by the same name), the command shows the candidate 1829variable by the same name), the command shows the candidate
1830definitions in a @file{*xref*} buffer, together with the files in 1830definitions in the @file{*xref*} buffer, together with the files in
1831which these definitions are found. Selecting one of these candidates 1831which these definitions are found. Selecting one of these candidates
1832by typing @kbd{@key{RET}} or clicking @kbd{mouse-2} will pop a buffer 1832by typing @kbd{@key{RET}} or clicking @kbd{mouse-2} will pop a buffer
1833showing the corresponding definition. 1833showing the corresponding definition.
@@ -1883,28 +1883,34 @@ the special XREF mode:
1883@item @key{RET} 1883@item @key{RET}
1884@itemx mouse-2 1884@itemx mouse-2
1885Display the reference on the current line. 1885Display the reference on the current line.
1886
1886@item n 1887@item n
1887@itemx . 1888@itemx .
1888@findex xref-next-line 1889@findex xref-next-line
1889Move to the next reference and display it in the other window 1890Move to the next reference and display it in the other window
1890(@code{xref-next-line}). 1891(@code{xref-next-line}).
1892
1891@item p 1893@item p
1892@itemx , 1894@itemx ,
1893@findex xref-prev-line 1895@findex xref-prev-line
1894Move to the previous reference and display it in the other window 1896Move to the previous reference and display it in the other window
1895(@code{xref-prev-line}). 1897(@code{xref-prev-line}).
1898
1896@item C-o 1899@item C-o
1897@findex xref-show-location-at-point 1900@findex xref-show-location-at-point
1898Display the reference on the current line in the other window 1901Display the reference on the current line in the other window
1899(@code{xref-show-location-at-point}). 1902(@code{xref-show-location-at-point}).
1903
1900@item @key{TAB} 1904@item @key{TAB}
1901@findex xref-quit-and-goto-xref 1905@findex xref-quit-and-goto-xref
1902Display the reference on the current line and bury the @file{*xref*} 1906Display the reference on the current line and bury the @file{*xref*}
1903buffer (@code{xref-quit-and-goto-xref}). 1907buffer (@code{xref-quit-and-goto-xref}).
1908
1904@item r @var{pattern} @key{RET} @var{replacement} @key{RET} 1909@item r @var{pattern} @key{RET} @var{replacement} @key{RET}
1905Perform interactive query-replace on references that match 1910Perform interactive query-replace on references that match
1906@var{pattern} (@code{xref-query-replace-in-results}), replacing 1911@var{pattern} (@code{xref-query-replace-in-results}), replacing
1907the match with @var{replacement}. @xref{Identifier Search}. 1912the match with @var{replacement}. @xref{Identifier Search}.
1913
1908@findex xref-quit 1914@findex xref-quit
1909@item q 1915@item q
1910Quit the window showing the @file{*xref*} buffer (@code{xref-quit}). 1916Quit the window showing the @file{*xref*} buffer (@code{xref-quit}).
@@ -1926,14 +1932,18 @@ them.
1926@table @kbd 1932@table @kbd
1927@item M-? 1933@item M-?
1928Find all the references for the identifier at point. 1934Find all the references for the identifier at point.
1935
1929@item M-x xref-query-replace-in-results @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET} 1936@item M-x xref-query-replace-in-results @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
1930Interactively replace @var{regexp} with @var{replacement} in the names 1937Interactively replace @var{regexp} with @var{replacement} in the names
1931of all the identifiers shown in the @file{*xref*} buffer. 1938of all the identifiers shown in the @file{*xref*} buffer.
1939
1932@item M-x tags-search @key{RET} @var{regexp} @key{RET} 1940@item M-x tags-search @key{RET} @var{regexp} @key{RET}
1933Search for @var{regexp} through the files in the selected tags 1941Search for @var{regexp} through the files in the selected tags
1934table. 1942table.
1943
1935@item M-x tags-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET} 1944@item M-x tags-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET}
1936Perform a @code{query-replace-regexp} on each file in the selected tags table. 1945Perform a @code{query-replace-regexp} on each file in the selected tags table.
1946
1937@item M-x tags-loop-continue 1947@item M-x tags-loop-continue
1938Restart one of the last 2 commands above, from the current location of point. 1948Restart one of the last 2 commands above, from the current location of point.
1939@end table 1949@end table
@@ -1943,7 +1953,7 @@ Restart one of the last 2 commands above, from the current location of point.
1943 @kbd{M-?} finds all the references for the identifier at point. If 1953 @kbd{M-?} finds all the references for the identifier at point. If
1944there's no identifier at point, or when invoked with a prefix 1954there's no identifier at point, or when invoked with a prefix
1945argument, the command prompts for the identifier, with completion. It 1955argument, the command prompts for the identifier, with completion. It
1946then presents a @file{*xref*} buffer with all the references to the 1956then presents the @file{*xref*} buffer with all the references to the
1947identifier, showing the file name and the line where the identifier is 1957identifier, showing the file name and the line where the identifier is
1948referenced. The XREF mode commands are available in this buffer, see 1958referenced. The XREF mode commands are available in this buffer, see
1949@ref{Xref Commands}. 1959@ref{Xref Commands}.
@@ -1967,7 +1977,7 @@ available (@pxref{Tags Tables}).
1967 1977
1968@findex tags-loop-continue 1978@findex tags-loop-continue
1969 Having found one match with @code{tags-search}, you probably want to 1979 Having found one match with @code{tags-search}, you probably want to
1970find all the rest. Type @kbd{M-x tags-loop-continue} to resume the 1980find all the rest. @kbd{M-x tags-loop-continue} resumes the
1971@code{tags-search}, finding one more match. This searches the rest of 1981@code{tags-search}, finding one more match. This searches the rest of
1972the current buffer, followed by the remaining files of the tags table. 1982the current buffer, followed by the remaining files of the tags table.
1973 1983
@@ -2017,11 +2027,14 @@ Searching}.
2017@itemx M-@key{TAB} 2027@itemx M-@key{TAB}
2018Perform completion on the text around point, possibly using the 2028Perform completion on the text around point, possibly using the
2019selected tags table if one is loaded (@code{completion-at-point}). 2029selected tags table if one is loaded (@code{completion-at-point}).
2030
2020@item M-x xref-find-apropos @key{RET} @var{regexp} @key{RET} 2031@item M-x xref-find-apropos @key{RET} @var{regexp} @key{RET}
2021Display a list of all known identifiers matching @var{regexp}. 2032Display a list of all known identifiers matching @var{regexp}.
2033
2022@item M-x list-tags @key{RET} @var{file} @key{RET} 2034@item M-x list-tags @key{RET} @var{file} @key{RET}
2023Display a list of the identifiers defined in the program file 2035Display a list of the identifiers defined in the program file
2024@var{file}. 2036@var{file}.
2037
2025@item M-x next-file 2038@item M-x next-file
2026Visit files recorded in the selected tags table. 2039Visit files recorded in the selected tags table.
2027@end table 2040@end table
@@ -2435,11 +2448,12 @@ matches at the beginning of a line. If you want to allow indented
2435tags, use a regexp that matches initial whitespace; start it with 2448tags, use a regexp that matches initial whitespace; start it with
2436@samp{[ \t]*}. 2449@samp{[ \t]*}.
2437 2450
2438 In these regular expressions, @samp{\} quotes the next character, and 2451 In these regular expressions, @samp{\} quotes the next character,
2439all the GCC character escape sequences are supported (@samp{\a} for 2452and all the C character escape sequences are supported: @samp{\a} for
2440bell, @samp{\b} for back space, @samp{\d} for delete, @samp{\e} for 2453bell, @samp{\b} for back space, @samp{\e} for escape, @samp{\f} for
2441escape, @samp{\f} for formfeed, @samp{\n} for newline, @samp{\r} for 2454formfeed, @samp{\n} for newline, @samp{\r} for carriage return,
2442carriage return, @samp{\t} for tab, and @samp{\v} for vertical tab). 2455@samp{\t} for tab, and @samp{\v} for vertical tab. In addition,
2456@samp{\d} stands for the @code{DEL} character.
2443 2457
2444 Ideally, @var{tagregexp} should not match more characters than are 2458 Ideally, @var{tagregexp} should not match more characters than are
2445needed to recognize what you want to tag. If the syntax requires you 2459needed to recognize what you want to tag. If the syntax requires you
@@ -2607,13 +2621,13 @@ current list, it is used @emph{as well as} the others.
2607@example 2621@example
2608@group 2622@group
2609(setq tags-table-list 2623(setq tags-table-list
2610 '("~/emacs" "/usr/local/lib/emacs/src")) 2624 '("~/.emacs.d" "/usr/local/lib/emacs/src"))
2611@end group 2625@end group
2612@end example 2626@end example
2613 2627
2614@noindent 2628@noindent
2615This tells the tags commands to look at the @file{TAGS} files in your 2629This tells the tags commands to look at the @file{TAGS} files in your
2616@file{~/emacs} directory and in the @file{/usr/local/lib/emacs/src} 2630@file{~/.emacs.d} directory and in the @file{/usr/local/lib/emacs/src}
2617directory. The order depends on which file you are in and which tags 2631directory. The order depends on which file you are in and which tags
2618table mentions that file. 2632table mentions that file.
2619 2633
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index cfc689e4641..9610ed4dd89 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -2475,7 +2475,7 @@ seconds, if that is non-@code{nil} and non-zero.
2475 If you turn on @code{desktop-save-mode} in your init file, then when 2475 If you turn on @code{desktop-save-mode} in your init file, then when
2476Emacs starts, it looks for a saved desktop in the current directory. 2476Emacs starts, it looks for a saved desktop in the current directory.
2477(More precisely, it looks in the directories specified by 2477(More precisely, it looks in the directories specified by
2478@var{desktop-path}, and uses the first desktop it finds.) 2478@code{desktop-path}, and uses the first desktop it finds.)
2479Thus, you can have separate saved desktops in different directories, 2479Thus, you can have separate saved desktops in different directories,
2480and the starting directory determines which one Emacs reloads. You 2480and the starting directory determines which one Emacs reloads. You
2481can save the current desktop and reload one saved in another directory 2481can save the current desktop and reload one saved in another directory
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 4a59f4307ed..042a197f9b7 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -843,12 +843,17 @@ or the last, non-whitespace position on the line.
843@cindex inserting matching parentheses 843@cindex inserting matching parentheses
844@findex electric-pair-mode 844@findex electric-pair-mode
845 Electric Pair mode, a global minor mode, provides a way to easily 845 Electric Pair mode, a global minor mode, provides a way to easily
846insert matching delimiters. Whenever you insert an opening delimiter, 846insert matching delimiters: parentheses, braces, brackets, etc.
847the matching closing delimiter is automatically inserted as well, 847Whenever you insert an opening delimiter, the matching closing
848leaving point between the two. Conversely, when you insert a closing 848delimiter is automatically inserted as well, leaving point between the
849delimiter over an existing one, no inserting takes places and that 849two. Conversely, when you insert a closing delimiter over an existing
850position is simply skipped over. These variables control additional 850one, no insertion takes places, and that position is simply skipped
851features of Electric Pair mode: 851over. If the region is active (@pxref{Mark}), insertion of a
852delimiter operates on the region: the characters in the region are
853enclosed in a pair of matching delimiters, leaving point after the
854delimiter you typed.
855
856These variables control additional features of Electric Pair mode:
852 857
853@itemize @bullet 858@itemize @bullet
854@item 859@item
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 709e9836c90..bf85b00e937 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -3124,12 +3124,11 @@ machines, but will fail if the machine's arithmetic is extremely
3124unusual, e.g., decimal. 3124unusual, e.g., decimal.
3125@end defun 3125@end defun
3126 3126
3127Since true Common Lisp supports up to four different floating-point 3127Since true Common Lisp supports up to four different kinds of floating-point
3128precisions, it has families of constants like 3128numbers, it has families of constants like
3129@code{most-positive-single-float}, @code{most-positive-double-float}, 3129@code{most-positive-single-float}, @code{most-positive-double-float},
3130@code{most-positive-long-float}, and so on. Emacs has only one 3130@code{most-positive-long-float}, and so on. Emacs has only one
3131floating-point precision, so this package omits the precision word 3131kind of floating-point number, so this package just uses single constants.
3132from the constants' names.
3133 3132
3134@defvar cl-most-positive-float 3133@defvar cl-most-positive-float
3135This constant equals the largest value a Lisp float can hold. 3134This constant equals the largest value a Lisp float can hold.
diff --git a/lisp/ChangeLog.6 b/lisp/ChangeLog.6
index 3a6d60dfbcd..0d0df58f58e 100644
--- a/lisp/ChangeLog.6
+++ b/lisp/ChangeLog.6
@@ -3506,7 +3506,7 @@
3506 (sgml-beginning-of-tag, sgml-value): New functions. 3506 (sgml-beginning-of-tag, sgml-value): New functions.
3507 3507
3508 (html-*): All these functions and variables are new. 3508 (html-*): All these functions and variables are new.
3509 Mostly they parametrize everything preceding. 3509 Mostly they parameterize everything preceding.
3510 3510
3511 * autoinsert.el (auto-insert-alist): For html-mode, use `sgml-tag'. 3511 * autoinsert.el (auto-insert-alist): For html-mode, use `sgml-tag'.
3512 3512
diff --git a/lisp/elec-pair.el b/lisp/elec-pair.el
index af9a44c844c..97049a7d9d9 100644
--- a/lisp/elec-pair.el
+++ b/lisp/elec-pair.el
@@ -580,8 +580,11 @@ the mode if ARG is omitted or nil.
580 580
581Electric Pair mode is a global minor mode. When enabled, typing 581Electric Pair mode is a global minor mode. When enabled, typing
582an open parenthesis automatically inserts the corresponding 582an open parenthesis automatically inserts the corresponding
583closing parenthesis. (Likewise for brackets, etc.). To toggle 583closing parenthesis, and vice versa. (Likewise for brackets, etc.).
584the mode in a single buffer, use `electric-pair-local-mode'." 584If the region is active, the parentheses (brackets, etc.) are
585inserted around the region instead.
586
587To toggle the mode in a single buffer, use `electric-pair-local-mode'."
585 :global t :group 'electricity 588 :global t :group 'electricity
586 (if electric-pair-mode 589 (if electric-pair-mode
587 (progn 590 (progn
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index e5e5f4ee590..a316364761d 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -1402,7 +1402,7 @@
1402 (setq offset (- offset #x80))) 1402 (setq offset (- offset #x80)))
1403 ((eq bytedecomp-op 'byte-switch) 1403 ((eq bytedecomp-op 'byte-switch)
1404 (cl-assert (hash-table-p last-constant) nil 1404 (cl-assert (hash-table-p last-constant) nil
1405 "byte-switch used without preceeding hash table") 1405 "byte-switch used without preceding hash table")
1406 ;; We cannot use the original hash table referenced in the op, 1406 ;; We cannot use the original hash table referenced in the op,
1407 ;; so we create a copy of it, and replace the addresses with 1407 ;; so we create a copy of it, and replace the addresses with
1408 ;; TAGs. 1408 ;; TAGs.
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index cddf79b351c..c5b07b37027 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -2585,7 +2585,7 @@ comment at the start of cc-engine.el for more info."
2585 ;; or the car of the list is the "position element" of ELT, the position 2585 ;; or the car of the list is the "position element" of ELT, the position
2586 ;; where ELT is valid. 2586 ;; where ELT is valid.
2587 ;; 2587 ;;
2588 ;; POINT is left at the postition for which the returned state is valid. It 2588 ;; POINT is left at the position for which the returned state is valid. It
2589 ;; will be either the position element of ELT, or one character before 2589 ;; will be either the position element of ELT, or one character before
2590 ;; that. (The latter happens in Emacs <= 25 and XEmacs, when ELT indicates 2590 ;; that. (The latter happens in Emacs <= 25 and XEmacs, when ELT indicates
2591 ;; its position element directly follows a potential first character of a 2591 ;; its position element directly follows a potential first character of a
@@ -2656,7 +2656,7 @@ comment at the start of cc-engine.el for more info."
2656 ((nth 3 state) ; A string 2656 ((nth 3 state) ; A string
2657 (list (point) (nth 3 state) (nth 8 state))) 2657 (list (point) (nth 3 state) (nth 8 state)))
2658 ((and (nth 4 state) ; A comment 2658 ((and (nth 4 state) ; A comment
2659 (not (eq (nth 7 state) 'syntax-table))) ; but not a psuedo comment. 2659 (not (eq (nth 7 state) 'syntax-table))) ; but not a pseudo comment.
2660 (list (point) 2660 (list (point)
2661 (if (eq (nth 7 state) 1) 'c++ 'c) 2661 (if (eq (nth 7 state) 1) 'c++ 'c)
2662 (nth 8 state))) 2662 (nth 8 state)))
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index 5568bbb1d97..aaa8ebfd480 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -1103,7 +1103,10 @@ If the optional argument FOLLOWING, or, when called interactively
1103`ispell-following-word', is non-nil, checks the following (rather 1103`ispell-following-word', is non-nil, checks the following (rather
1104than preceding) word when the cursor is not over a word. If 1104than preceding) word when the cursor is not over a word. If
1105optional argument KNOWN-MISSPELLING is non nil considers word a 1105optional argument KNOWN-MISSPELLING is non nil considers word a
1106misspelling and skips redundant spell-checking step." 1106misspelling and skips redundant spell-checking step.
1107
1108See `flyspell-get-word' for details of how this finds the word to
1109spell-check."
1107 (interactive (list ispell-following-word)) 1110 (interactive (list ispell-following-word))
1108 (ispell-set-spellchecker-params) ; Initialize variables and dicts alists 1111 (ispell-set-spellchecker-params) ; Initialize variables and dicts alists
1109 (save-excursion 1112 (save-excursion
@@ -1302,7 +1305,13 @@ misspelling and skips redundant spell-checking step."
1302Optional argument FOLLOWING non-nil means to get the following 1305Optional argument FOLLOWING non-nil means to get the following
1303\(rather than preceding) word when the cursor is not over a word. 1306\(rather than preceding) word when the cursor is not over a word.
1304Optional second argument EXTRA-OTHERCHARS is a regexp of characters 1307Optional second argument EXTRA-OTHERCHARS is a regexp of characters
1305that may be included as part of a word (see `ispell-dictionary-alist')." 1308that may be included as part of a word (see `ispell-dictionary-alist').
1309
1310This finds the word to spell-check by searching for CASECHARS defined
1311in `ispell-dictionary-alist' for the current dictionary. Thus, the
1312word could be far away of point if point is inside whitespace or
1313punctuation characters, or in text that belongs to a different
1314language."
1306 (let* ((flyspell-casechars (flyspell-get-casechars)) 1315 (let* ((flyspell-casechars (flyspell-get-casechars))
1307 (flyspell-not-casechars (flyspell-get-not-casechars)) 1316 (flyspell-not-casechars (flyspell-get-not-casechars))
1308 (ispell-otherchars (ispell-get-otherchars)) 1317 (ispell-otherchars (ispell-get-otherchars))
@@ -1919,8 +1928,10 @@ before point that's highlighted as misspelled."
1919 "Correct the current word. 1928 "Correct the current word.
1920This command proposes various successive corrections for the 1929This command proposes various successive corrections for the
1921current word. If invoked repeatedly on the same position, it 1930current word. If invoked repeatedly on the same position, it
1922cycles through the possible corrections of the word at or near 1931cycles through the possible corrections of the current word.
1923that position." 1932
1933See `flyspell-get-word' for details of how this finds the word to
1934spell-check."
1924 (interactive) 1935 (interactive)
1925 ;; If we are not in the construct where flyspell should be active, 1936 ;; If we are not in the construct where flyspell should be active,
1926 ;; invoke the original binding of M-TAB, if that was recorded. 1937 ;; invoke the original binding of M-TAB, if that was recorded.
@@ -2000,7 +2011,7 @@ that position."
2000 (let ((new-word replace)) 2011 (let ((new-word replace))
2001 (if (not (equal new-word (car poss))) 2012 (if (not (equal new-word (car poss)))
2002 (progn 2013 (progn
2003 ;; the save the current replacements 2014 ;; then save the current replacements
2004 (setq flyspell-auto-correct-region 2015 (setq flyspell-auto-correct-region
2005 (cons start (length new-word))) 2016 (cons start (length new-word)))
2006 (let ((l replacements)) 2017 (let ((l replacements))
diff --git a/src/data.c b/src/data.c
index 72abfefb01f..62b3fcfeb24 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2271,8 +2271,8 @@ function chain of symbols. */)
2271/* Extract and set vector and string elements. */ 2271/* Extract and set vector and string elements. */
2272 2272
2273DEFUN ("aref", Faref, Saref, 2, 2, 0, 2273DEFUN ("aref", Faref, Saref, 2, 2, 0,
2274 doc: /* Return the element of ARG at index IDX. 2274 doc: /* Return the element of ARRAY at index IDX.
2275ARG may be a vector, a string, a char-table, a bool-vector, a record, 2275ARRAY may be a vector, a string, a char-table, a bool-vector, a record,
2276or a byte-code object. IDX starts at 0. */) 2276or a byte-code object. IDX starts at 0. */)
2277 (register Lisp_Object array, Lisp_Object idx) 2277 (register Lisp_Object array, Lisp_Object idx)
2278{ 2278{