summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2019-06-07 22:06:01 +0300
committerEli Zaretskii <eliz@gnu.org>2019-06-07 22:06:01 +0300
commit77f96e2cc1da30730f79d5935eaf5d23e53f37ad (patch)
tree3def25baacae463f3e48d7b233f26a44a71aef1d
parentdec525017013b448f23eb645b11068862c1038d6 (diff)
parent9f4c945b5cfb2e26a65ca10453591536c8fb0ff4 (diff)
downloademacs-77f96e2cc1da30730f79d5935eaf5d23e53f37ad.tar.gz
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
-rw-r--r--doc/emacs/basic.texi16
-rw-r--r--doc/emacs/display.texi23
-rw-r--r--doc/emacs/kmacro.texi4
-rw-r--r--doc/emacs/mark.texi6
-rw-r--r--doc/emacs/regs.texi4
-rw-r--r--doc/emacs/search.texi18
-rw-r--r--doc/emacs/text.texi12
-rw-r--r--doc/lispref/display.texi10
-rw-r--r--doc/lispref/nonascii.texi23
-rw-r--r--doc/lispref/processes.texi9
-rw-r--r--doc/lispref/windows.texi83
-rw-r--r--lisp/display-line-numbers.el4
-rw-r--r--lisp/emacs-lisp/bytecomp.el4
-rw-r--r--lisp/linum.el4
-rw-r--r--lisp/term/ns-win.el4
-rw-r--r--lisp/term/w32-win.el9
-rw-r--r--nt/README.W322
-rw-r--r--src/fns.c8
18 files changed, 139 insertions, 104 deletions
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index 86403b7a23d..d0bd46c35fc 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -113,13 +113,13 @@ just like digits. Case is ignored.
@cindex curved quotes, inserting
A few common Unicode characters can be inserted via a command
starting with @kbd{C-x 8}. For example, @kbd{C-x 8 [} inserts @t{‘}
-which is Unicode code-point @code{U+2018} LEFT SINGLE QUOTATION MARK,
+which is Unicode code-point U+2018 @sc{left single quotation mark},
sometimes called a left single ``curved quote'' or ``curly quote''.
Similarly, @kbd{C-x 8 ]}, @kbd{C-x 8 @{} and @kbd{C-x 8 @}} insert the
curved quotes @t{’}, @t{“} and @t{”}, respectively. Also, a working
Alt key acts like @kbd{C-x 8}; e.g., @kbd{A-[} acts like @kbd{C-x 8 [}
-and inserts `. To see which characters have @kbd{C-x 8} shorthands,
-type @kbd{C-x 8 C-h}.
+and inserts @t{‘}. To see which characters have @kbd{C-x 8}
+shorthands, type @kbd{C-x 8 C-h}.
Alternatively, you can use the command @kbd{C-x 8 @key{RET}}
(@code{insert-char}). This prompts for the Unicode name or code-point
@@ -146,9 +146,9 @@ the buffer.
how many copies of the character to insert (@pxref{Arguments}).
In addition, in some contexts, if you type a quotation using grave
-accent and apostrophe @t{`like this'}, it is converted to a form
+accent and apostrophe @kbd{`like this'}, it is converted to a form
@t{‘like this’} using single quotation marks, even without @kbd{C-x 8}
-commands. Similarly, typing a quotation @t{``like this''} using
+commands. Similarly, typing a quotation @kbd{``like this''} using
double grave accent and apostrophe converts it to a form @t{“like
this”} using double quotation marks. @xref{Quotation Marks}.
@@ -816,9 +816,9 @@ more convenient, and they are documented in that command's
documentation string.
We use the term @dfn{prefix argument} to emphasize that you type
-such arguments before the command, and to distinguish them from
-minibuffer arguments (@pxref{Minibuffer}), which are entered after
-invoking the command.
+such arguments @emph{before} the command, and to distinguish them from
+minibuffer arguments (@pxref{Minibuffer}), which are entered
+@emph{after} invoking the command.
On graphical displays, @kbd{C-0}, @kbd{C-1}, etc.@ act the same as
@kbd{M-0}, @kbd{M-1}, etc.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 4985fabd541..b9449f812a2 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -199,12 +199,13 @@ screen lines between point and the top or bottom of the window
(@pxref{Auto Scrolling}).
You can also give @kbd{C-l} a prefix argument. A plain prefix
-argument, @kbd{C-u C-l}, simply recenters point. A positive argument
-@var{n} puts point @var{n} lines down from the top of the window. An
-argument of zero puts point on the topmost line. A negative argument
-@var{-n} puts point @var{n} lines from the bottom of the window. When
-given an argument, @kbd{C-l} does not clear the screen or cycle
-through different screen positions.
+argument, @kbd{C-u C-l}, simply recenters the line showing point. A
+positive argument @var{n} moves line showing point @var{n} lines down
+from the top of the window. An argument of zero moves point's line to
+the top of the window. A negative argument @var{-n} moves point's
+line @var{n} lines from the bottom of the window. When given an
+argument, @kbd{C-l} does not clear the screen or cycle through
+different screen positions.
@vindex recenter-redisplay
If the variable @code{recenter-redisplay} has a non-@code{nil}
@@ -1535,9 +1536,9 @@ a new line, while the tab character (@code{U+0009}) is displayed as a
space that extends to the next tab stop column (normally every 8
columns). The number of spaces per tab is controlled by the
buffer-local variable @code{tab-width}, which must have an integer
-value between 1 and 1000, inclusive. Note that how the tab character
-in the buffer is displayed has nothing to do with the definition of
-@key{TAB} as a command.
+value between 1 and 1000, inclusive. Note that the way the tab
+character in the buffer is displayed has nothing to do with the
+definition of @key{TAB} as a command.
Other @acronym{ASCII} control characters, whose codes are below
@code{U+0020} (octal 40, decimal 32), are displayed as a caret
@@ -1607,11 +1608,11 @@ curved quotes. You can influence or inhibit this translation by
customizing the user option @code{text-quoting-style} (@pxref{Keys in
Documentation,,, elisp, The Emacs Lisp Reference Manual}).
- If the curved quotes @samp{‘}, @samp{’}, @samp{“}, and @samp{”} are
+ If the curved quotes @t{‘}, @t{’}, @t{“}, and @t{”} are
known to look just like @acronym{ASCII} characters, they are shown
with the @code{homoglyph} face. Curved quotes that are known not to
be displayable are shown as their @acronym{ASCII} approximations
-@samp{`}, @samp{'}, and @samp{"} with the @code{homoglyph} face.
+@t{`}, @t{'}, and @t{"} with the @code{homoglyph} face.
@node Cursor Display
@section Displaying the Cursor
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi
index 65387ae783c..3710611c763 100644
--- a/doc/emacs/kmacro.texi
+++ b/doc/emacs/kmacro.texi
@@ -391,7 +391,7 @@ macro definition is executed. It is up to you to leave point and the
text in a state such that the rest of the macro will do what you want.
@end table
- @kbd{C-u C-x q}, which is @kbd{C-x q} with a numeric argument,
+ @kbd{C-u C-x q}, which is @kbd{C-x q} with a prefix argument,
performs a completely different function. It enters a recursive edit
reading input from the keyboard, both when you type it during the
definition of the macro, and when it is executed from the macro. During
@@ -472,7 +472,7 @@ later with @code{load-file} (@pxref{Lisp Libraries}). If the file you
save in is your init file @file{~/.emacs} (@pxref{Init File}) then the
macro will be defined each time you run Emacs.
- If you give @code{insert-kbd-macro} a numeric argument, it makes
+ If you give @code{insert-kbd-macro} a prefix argument, it makes
additional Lisp code to record the keys (if any) that you have bound
to @var{macroname}, so that the macro will be reassigned the same keys
when you load the file.
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 5ffe7264a35..8ad5fc7c9e4 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -420,9 +420,9 @@ commands.
The default behavior of the mark and region, in which setting the
mark activates it and highlights the region, is called Transient Mark
mode. This is a minor mode that is enabled by default. It can be
-toggled with @kbd{M-x transient-mark-mode}, or with the @samp{Active
-Region Highlighting} menu item in the @samp{Options} menu. Turning it
-off switches Emacs to an alternative mode of operation:
+toggled with @kbd{M-x transient-mark-mode}, or with the
+@samp{Highlight Active Region} menu item in the @samp{Options} menu.
+Turning it off switches Emacs to an alternative mode of operation:
@itemize @bullet
@item
diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi
index 1881b49627e..37026946477 100644
--- a/doc/emacs/regs.texi
+++ b/doc/emacs/regs.texi
@@ -154,7 +154,7 @@ during the collection process, you can use the following setting.
@findex insert-register
@kbd{C-x r i @var{r}} inserts in the buffer the text from register
@var{r}. Normally it leaves point after the text and sets the mark
-before, without activating it. With a numeric argument, it instead
+before, without activating it. With a prefix argument, it instead
puts point before the text and the mark after.
@node Rectangle Registers
@@ -170,7 +170,7 @@ in the buffer.
@kindex C-x r r
@item C-x r r @var{r}
Copy the region-rectangle into register @var{r}
-(@code{copy-rectangle-to-register}). With numeric argument, delete it as
+(@code{copy-rectangle-to-register}). With prefix argument, delete it as
well.
@item C-x r i @var{r}
Insert the rectangle stored in register @var{r} (if it contains a
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index a1c987c1252..c61578bab76 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -847,7 +847,7 @@ Expressions,,, elisp, The Emacs Lisp Reference Manual}, for additional
features used mainly in Lisp programs.
Regular expressions have a syntax in which a few characters are
-special constructs and the rest are @dfn{ordinary}. An ordinary
+@dfn{special constructs} and the rest are @dfn{ordinary}. An ordinary
character matches that same character and nothing else. The special
characters are @samp{$^.*+?[\}. The character @samp{]} is special if
it ends a character alternative (see below). The character @samp{-}
@@ -1328,14 +1328,14 @@ of its accented cousins like @code{@"a} and @code{@'a}, i.e., the
match disregards the diacritics that distinguish these
variants. In addition, @code{a} matches other characters that
resemble it, or have it as part of their graphical representation,
-such as @sc{u+249c parenthesized latin small letter a} and @sc{u+2100
-account of} (which looks like a small @code{a} over @code{c}).
+such as U+249C @sc{parenthesized latin small letter a} and U+2100
+@sc{account of} (which looks like a small @code{a} over @code{c}).
Similarly, the @acronym{ASCII} double-quote character @code{"} matches
all the other variants of double quotes defined by the Unicode
standard. Finally, character folding can make a sequence of one or
more characters match another sequence of a different length: for
-example, the sequence of two characters @code{ff} matches @sc{u+fb00
-latin small ligature ff}. Character sequences that are not identical,
+example, the sequence of two characters @code{ff} matches U+FB00
+@sc{latin small ligature ff}. Character sequences that are not identical,
but match under character folding are known as @dfn{equivalent
character sequences}.
@@ -1483,8 +1483,7 @@ multiple digits, and the value of @samp{\@var{d}} is @code{nil} if the
@samp{\#} here too stands for the number of already-completed
replacements.
- Repeating our example to exchange @samp{x} and @samp{y}, we can thus
-do it also this way:
+ For example, we can exchange @samp{x} and @samp{y} this way:
@example
M-x replace-regexp @key{RET} \(x\)\|y @key{RET}
@@ -1661,8 +1660,9 @@ replacement has already been made, @key{DEL} and @key{SPC} are
equivalent in this situation; both move to the next occurrence.
You can type @kbd{C-r} at this point (see below) to alter the replaced
-text. You can also type @kbd{C-x u} to undo the replacement; this exits
-the @code{query-replace}, so if you want to do further replacement you
+text. You can also undo the replacement with the @code{undo} command
+(e.g., type @kbd{C-x u}; @pxref{Undo}); this exits the
+@code{query-replace}, so if you want to do further replacement you
must use @kbd{C-x @key{ESC} @key{ESC} @key{RET}} to restart
(@pxref{Repetition}).
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 7892b346d2a..1928240a878 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -428,10 +428,10 @@ using straight apostrophes @t{'like this'} or double-quotes @t{"like
this"}. Another common way is the curved quote convention, which uses
left and right single or double quotation marks `@t{like this}' or
``@t{like this}''@footnote{
-The curved single quote characters are U+2018 LEFT SINGLE QUOTATION
-MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes
-are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE
-QUOTATION MARK. On text terminals which cannot display these
+The curved single quote characters are U+2018 @sc{left single quotation
+mark} and U+2018 @sc{right single quotation mark}; the curved double quotes
+are U+201C @sc{left double quotation mark} and U+201D @sc{right double
+quotation mark}. On text terminals which cannot display these
characters, the Info reader might show them as the typewriter ASCII
quote characters.
}. In text files, typewriter quotes are simple and
@@ -439,8 +439,8 @@ portable; curved quotes are less ambiguous and typically look nicer.
@vindex electric-quote-chars
Electric Quote mode makes it easier to type curved quotes. As you
-type characters it optionally converts @t{`} to ‘, @t{'} to ',
-@t{``} to ``, and @t{''} to ''. It's possible to change the
+type characters it optionally converts @kbd{`} to @t{‘}, @kbd{'} to @t{’},
+@kbd{``} to @t{“}, and @kbd{''} to @t{”}. It's possible to change the
default quotes listed above, by customizing the variable
@code{electric-quote-chars}, a list of four characters, where the
items correspond to the left single quote, the right single quote, the
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 82af02fc384..93c5217c362 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -7328,9 +7328,9 @@ Non-@acronym{ASCII}, non-printing characters @code{U+0080} to
@samp{\230}).
@item format-control
-Characters of Unicode General Category [Cf], such as @samp{U+200E}
-(Left-to-Right Mark), but excluding characters that have graphic
-images, such as @samp{U+00AD} (Soft Hyphen).
+Characters of Unicode General Category [Cf], such as U+200E
+@sc{left-to-right mark}, but excluding characters that have graphic
+images, such as U+00AD @sc{soft hyphen}.
@item no-font
Characters for which there is no suitable font, or which cannot be
@@ -7713,12 +7713,12 @@ problem:
@itemize @minus
@item
-Append the special character @code{U+200E}, LEFT-TO-RIGHT MARK, or
+Append the special character U+200E @sc{left-to-right mark}, or
@acronym{LRM}, to the end of each field that may have bidirectional
content, or prepend it to the beginning of the following field. The
function @code{bidi-string-mark-left-to-right}, described below, comes
in handy for this purpose. (In a right-to-left paragraph, use
-@code{U+200F}, RIGHT-TO-LEFT MARK, or @acronym{RLM}, instead.) This
+U+200F @sc{right-to-left mark}, or @acronym{RLM}, instead.) This
is one of the solutions recommended by the UBA.
@item
diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi
index 8b0750abbf6..a56a365e9ea 100644
--- a/doc/lispref/nonascii.texi
+++ b/doc/lispref/nonascii.texi
@@ -550,8 +550,8 @@ characters whose @code{Numeric_Type} is @samp{Numeric}. The value of
this property is a number. Examples of characters that have this
property include fractions, subscripts, superscripts, Roman numerals,
currency numerators, and encircled numbers. For example, the value of
-this property for the character @code{U+2155} (@sc{vulgar fraction one
-fifth}) is @code{0.2}. For characters that don't have any numeric
+this property for the character U+2155 @sc{vulgar fraction one
+fifth} is @code{0.2}. For characters that don't have any numeric
value, and for unassigned codepoints, the value is @code{nil}, which
means @acronym{NaN}.
@@ -622,23 +622,24 @@ is @code{nil}, which means the character itself.
@item special-uppercase
Corresponds to Unicode language- and context-independent special upper-casing
rules. The value of this property is a string (which may be empty). For
-example mapping for @code{U+00DF} (@sc{latin small letter sharp s}) is
+example mapping for U+00DF @sc{latin small letter sharp s} is
@code{"SS"}. For characters with no special mapping, the value is @code{nil}
which means @code{uppercase} property needs to be consulted instead.
@item special-lowercase
-Corresponds to Unicode language- and context-independent special lower-casing
-rules. The value of this property is a string (which may be empty). For
-example mapping for @code{U+0130} (@sc{latin capital letter i with dot above})
-the value is @code{"i\u0307"} (i.e. 2-character string consisting of @sc{latin
-small letter i} followed by @sc{combining dot above}). For characters with no
-special mapping, the value is @code{nil} which means @code{lowercase} property
-needs to be consulted instead.
+Corresponds to Unicode language- and context-independent special
+lower-casing rules. The value of this property is a string (which may
+be empty). For example mapping for U+0130 @sc{latin capital letter i
+with dot above} the value is @code{"i\u0307"} (i.e. 2-character string
+consisting of @sc{latin small letter i} followed by U+0307
+@sc{combining dot above}). For characters with no special mapping,
+the value is @code{nil} which means @code{lowercase} property needs to
+be consulted instead.
@item special-titlecase
Corresponds to Unicode unconditional special title-casing rules. The value of
this property is a string (which may be empty). For example mapping for
-@code{U+FB01} (@sc{latin small ligature fi}) the value is @code{"Fi"}. For
+U+FB01 @sc{latin small ligature fi} the value is @code{"Fi"}. For
characters with no special mapping, the value is @code{nil} which means
@code{titlecase} property needs to be consulted instead.
@end table
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index b73401a62a2..ebc31c597e6 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1688,7 +1688,7 @@ how to do these things:
(save-excursion
;; @r{Insert the text, advancing the process marker.}
(goto-char (process-mark proc))
- (insert-before-markers string)
+ (insert string)
(set-marker (process-mark proc) (point)))
(if moving (goto-char (process-mark proc)))))))
@end group
@@ -1704,7 +1704,12 @@ text arrives, you could insert a line like the following just before the
To force point to the end of the new output, no matter where it was
previously, eliminate the variable @code{moving} from the example and
-call @code{goto-char} unconditionally.
+call @code{goto-char} unconditionally. Note that this doesn't
+necessarily move the window point. The default filter actually uses
+@code{insert-before-markers} which moves all markers, including the
+window point. This may move unrelated markers, so it's generally
+better to move the window point explicitly, or set its insertion type
+to @code{t} (@pxref{Window Point}).
@ignore
In earlier Emacs versions, every filter function that did regular
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 96e42a148c5..5e644138109 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1295,8 +1295,10 @@ the selected window.
If deleting the window would leave no more windows in the window tree
(e.g., if it is the only live window in the frame) or all remaining
-windows on @var{window}'s frame are side windows (@pxref{Side Windows}),
-an error is signaled.
+windows on @var{window}'s frame are side windows (@pxref{Side
+Windows}), an error is signaled. If @var{window} is part of an atomic
+window (@pxref{Atomic Windows}), this function tries to delete the
+root of that atomic window instead.
By default, the space taken up by @var{window} is given to one of its
adjacent sibling windows, if any. However, if the variable
@@ -1315,10 +1317,13 @@ Parameters}.
@end deffn
@deffn Command delete-other-windows &optional window
-This function makes @var{window} fill its frame, deleting other windows
-as necessary. If @var{window} is omitted or @code{nil}, it defaults to
-the selected window. An error is signaled if @var{window} is a side
-window (@pxref{Side Windows}). The return value is @code{nil}.
+This function makes @var{window} fill its frame, deleting other
+windows as necessary. If @var{window} is omitted or @code{nil}, it
+defaults to the selected window. An error is signaled if @var{window}
+is a side window (@pxref{Side Windows}). If @var{window} is part of
+an atomic window (@pxref{Atomic Windows}), this function tries to make
+the root of that atomic window fill its frame. The return
+value is @code{nil}.
The behavior of this function may be altered by the window parameters of
@var{window}, so long as the variable @code{ignore-window-parameters} is
@@ -4007,9 +4012,8 @@ described next to deal with the window and its buffer.
This function handles @var{window} and its buffer after quitting. The
optional argument @var{window} must be a live window and defaults to
the selected one. The function's behavior is determined by the four
-elements of the list specified by the @code{quit-restore} window
-parameter (@pxref{Window Parameters}), which is set to @code{nil}
-afterwards.
+elements of the list specified by @var{window}'s @code{quit-restore}
+parameter (@pxref{Window Parameters}).
The first element of the @code{quit-restore} parameter is one of the
symbols @code{window}, meaning that the window has been specially
@@ -4018,35 +4022,40 @@ been created; @code{same}, the window has only ever displayed this
buffer; or @code{other}, the window showed another buffer before.
@code{frame} and @code{window} affect how the window is quit, while
@code{same} and @code{other} affect the redisplay of buffers
-previously shown in this window.
+previously shown in @var{window}.
-The second element is either one of the symbols @code{window} or
-@code{frame}, or a list whose elements are the buffer shown in the
-window before, that buffer's window start and window point positions,
-and the window's height at that time. If that buffer is still live
-when the window is quit, then the function @code{quit-restore-window}
-reuses the window to display the buffer.
+The parameter's second element is either one of the symbols
+@code{window} or @code{frame}, or a list whose elements are the buffer
+shown in @var{window} before, that buffer's window start and window
+point positions, and @var{window}'s height at that time. If that
+buffer is still live when @var{window} is quit, then this function may
+reuse @var{window} to display it.
The third element is the window selected at the time the parameter was
-created. If @code{quit-restore-window} deletes the window passed to
-it as argument, it then tries to reselect this window.
+created. If this function deletes @var{window}, it subsequently tries
+to reselect the window named by that element.
The fourth element is the buffer whose display caused the creation of
-this parameter. @code{quit-restore-window} deletes the specified window
-only if it still shows that buffer.
-
-The window is deleted entirely if: 1) the first element of the
-@code{quit-restore} parameter is one of 'window or 'frame, 2) the
-window has no history of previously-displayed buffers, and 3) the
-displayed buffer matches the one in the fourth element of the
-@code{quit-restore} parameter. If @var{window} is the
-only window on its frame and there are other frames on the frame's
-terminal, the value of the optional argument @var{bury-or-kill}
-determines how to proceed with the window. If @var{bury-or-kill}
-equals @code{kill}, the frame is deleted unconditionally. Otherwise,
-the fate of the frame is determined by calling
-@code{frame-auto-hide-function} (see below) with that frame as sole
-argument.
+this parameter. This function may delete @var{window} if and only if
+it still shows that buffer.
+
+This function will try to delete @var{window} if and only if (1) the
+first element of its @code{quit-restore} parameter is either
+@code{window} or @code{frame}, (2) the window has no history of
+previously-displayed buffers and (3) the fourth element of the
+@code{quit-restore} parameter specifies the buffer currently displayed
+in @var{window}. If @var{window} is part of an atomic window
+(@pxref{Atomic Windows}), it will try to delete the root of that
+atomic window instead. In either case, it tries to avoid signaling an
+error when @var{window} cannot be deleted.
+
+If @var{window} shall be deleted, is the only window on its frame and
+there are other frames on that frame's terminal, the value of the
+optional argument @var{bury-or-kill} determines how to proceed with
+the window. If @var{bury-or-kill} equals @code{kill}, the frame is
+deleted unconditionally. Otherwise, the fate of the frame is
+determined by calling @code{frame-auto-hide-function} (see below) with
+that frame as sole argument.
If the third element of the @code{quit-restore} parameter is a list of
buffer, window start (@pxref{Window Start and End}), and point
@@ -4057,7 +4066,8 @@ try to restore the original height of @var{window}.
Otherwise, if @var{window} was previously used for displaying other
buffers (@pxref{Window History}), the most recent buffer in that
-history will be displayed.
+history will be displayed. In either case, if @var{window} is not
+deleted, its @code{quit-restore} parameter is reset to @code{nil}.
The optional argument @var{bury-or-kill} specifies how to deal with
@var{window}'s buffer. The following values are handled:
@@ -4538,6 +4548,11 @@ parameter assigned by @code{display-buffer-in-atom-window}. Further
parameters have to be set by the application explicitly via a
@code{window-parameters} entry in @var{alist}.
+ Atomic windows automatically cease to exist when one of their
+constituents gets deleted. To dissolve an atomic window manually,
+reset the @code{window-atom} parameter of its constituents---the root
+of the atomic window and all its descendants.
+
The following code snippet, when applied to a single-window frame,
first splits the selected window and makes the selected and the new
window constituents of an atomic window with their parent as root. It
diff --git a/lisp/display-line-numbers.el b/lisp/display-line-numbers.el
index d38f2e69635..f17f8e5ca18 100644
--- a/lisp/display-line-numbers.el
+++ b/lisp/display-line-numbers.el
@@ -92,9 +92,7 @@ the mode is on, set `display-line-numbers' directly."
(defun display-line-numbers--turn-on ()
"Turn on `display-line-numbers-mode'."
- (unless (or (minibufferp)
- ;; taken from linum.el
- (and (daemonp) (null (frame-parameter nil 'client))))
+ (unless (minibufferp)
(display-line-numbers-mode)))
;;;###autoload
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index dfbda8d43e3..38cce14fd62 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -1401,7 +1401,9 @@ when printing the error message."
(defun byte-compile-callargs-warn (form)
(let* ((def (or (byte-compile-fdefinition (car form) nil)
(byte-compile-fdefinition (car form) t)))
- (sig (byte-compile--function-signature (or def (car form))))
+ (sig (cond (def (byte-compile--function-signature def))
+ ((subrp (symbol-function (car form)))
+ (subr-arity (symbol-function (car form))))))
(ncall (length (cdr form))))
;; Check many or unevalled from subr-arity.
(if (and (cdr-safe sig)
diff --git a/lisp/linum.el b/lisp/linum.el
index 0b4b0083ed6..0a5d8bb2c0b 100644
--- a/lisp/linum.el
+++ b/lisp/linum.el
@@ -119,6 +119,10 @@ Linum mode is a buffer-local minor mode."
;; if some large buffer was under linum-mode when
;; desktop was saved. So we disable linum-mode for
;; non-client frames in a daemon session.
+
+ ;; Note that nowadays, this actually doesn't show line
+ ;; numbers in client frames at all, because we visit the
+ ;; file before creating the client frame. See bug#35726.
(and (daemonp) (null (frame-parameter nil 'client))))
(linum-mode 1)))
diff --git a/lisp/term/ns-win.el b/lisp/term/ns-win.el
index 6a668b213dd..83b845b1a5a 100644
--- a/lisp/term/ns-win.el
+++ b/lisp/term/ns-win.el
@@ -745,10 +745,6 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
(string-to-number (match-string 1 ns-version-string)))))
;; Appkit 1138 ~= macOS 10.7.
(when (>= appkit-version 1138)
- (setq mouse-wheel-scroll-amount '(1 ((shift) . 5) ((control))))
- (put 'mouse-wheel-scroll-amount 'customized-value
- (list (custom-quote (symbol-value 'mouse-wheel-scroll-amount))))
-
(setq mouse-wheel-progressive-speed nil)
(put 'mouse-wheel-progressive-speed 'customized-value
(list (custom-quote
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el
index beb7425ce55..044b82ed1e0 100644
--- a/lisp/term/w32-win.el
+++ b/lisp/term/w32-win.el
@@ -170,6 +170,15 @@ the last file dropped is selected."
;; new layout/language selected by the user.
(global-set-key [language-change] 'ignore)
+;; Some Windows applications send the 'noname' (VK_NONAME) pseudo-key
+;; to prevent Windows from sleeping. We want to ignore these key
+;; events, to avoid annoying users by ringing the bell and announcing
+;; that the key is not bound.
+(global-set-key [noname] 'ignore)
+(global-set-key [C-noname] 'ignore)
+(global-set-key [M-noname] 'ignore)
+
+
(defvar x-resource-name)
diff --git a/nt/README.W32 b/nt/README.W32
index c04f1a6d64c..64b35f68eb5 100644
--- a/nt/README.W32
+++ b/nt/README.W32
@@ -153,7 +153,7 @@ See the end of the file for license conditions.
instance, or you want the smallest possible Emacs), then you may use
the files emacs-VER-x86_64-no-deps.zip or
emacs-VER-i686-no-deps.zip. The dependency files are also available
- as emacs-MVER-x86_64-no-deps.zip and emacs-MVER-i686-deps.zip. Source
+ as emacs-MVER-x86_64-deps.zip and emacs-MVER-i686-deps.zip. Source
code for these dependencies is available as
emacs-26-deps-mingw-w64-src.zip.
diff --git a/src/fns.c b/src/fns.c
index cb47b818f17..4bb525b89e9 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -2681,8 +2681,12 @@ mapcar1 (EMACS_INT leni, Lisp_Object *vals, Lisp_Object fn, Lisp_Object seq)
DEFUN ("mapconcat", Fmapconcat, Smapconcat, 3, 3, 0,
doc: /* Apply FUNCTION to each element of SEQUENCE, and concat the results as strings.
In between each pair of results, stick in SEPARATOR. Thus, " " as
-SEPARATOR results in spaces between the values returned by FUNCTION.
-SEQUENCE may be a list, a vector, a bool-vector, or a string. */)
+ SEPARATOR results in spaces between the values returned by FUNCTION.
+SEQUENCE may be a list, a vector, a bool-vector, or a string.
+SEPARATOR must be a string.
+FUNCTION must be a function of one argument, and must return a value
+ that is a sequence of characters: either a string, or a vector or
+ list of numbers that are valid character codepoints. */)
(Lisp_Object function, Lisp_Object sequence, Lisp_Object separator)
{
USE_SAFE_ALLOCA;