aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2017-12-27 10:00:16 -0800
committerGlenn Morris2017-12-27 10:00:16 -0800
commit08e1438a3bf781ce85c7af75f1fa73cb826ba3dd (patch)
tree1d352669619c6b14c25bea2e698b3a3df52ee265
parentda94ea92bc3ba6c236b394c00e6bbb725131a149 (diff)
parentfd358049719d203d33e6d23d2179aab06c71b49a (diff)
downloademacs-08e1438a3bf781ce85c7af75f1fa73cb826ba3dd.tar.gz
emacs-08e1438a3bf781ce85c7af75f1fa73cb826ba3dd.zip
Merge from origin/emacs-26
fd35804971 (origin/emacs-26) * doc/lispref/strings.texi (Case Convers... 89e257d71b * doc/misc/speedbar.texi (Top): Fix grammar. a31ab5ffb5 * lisp/subr.el (with-silent-modifications): Doc fixes. 2ebc8dc3b6 Fix curved quotes in printed manual e4a881b5cf Say that "gnus-cloud" is a parody name 13c59d0a83 More improvements for text.texi 7850b7620e Adjudicate review comments for the "Text" chapter of user ... d7d3b14a99 * lisp/url/url-http.el (url-http-wait-for-headers-change-f... f3819ad13e In C-h k <mouse-n>, alert user to existence of any matchin... 99054fbef9 * net/eww.el (eww): Handle URLs without host part. de89c0b641 Make C-h c/k S-mouse-1 display message for mouse-appearanc... 720ed0b533 Avoid crashes when ':eval' deletes our frame 9105c9aa34 Fix scrolling up in pixel-scroll.el b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual 289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent... cf36c82127 Avoid some overfull lines in PDF lispref b07b56a351 Avoid some overfull lines in PDF manual 6b3118f025 * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M... 7ffb7b1e01 ; lispref nil/t markup fixes # Conflicts: # doc/emacs/text.texi
-rw-r--r--doc/emacs/arevert-xtra.texi8
-rw-r--r--doc/emacs/cal-xtra.texi1
-rw-r--r--doc/emacs/display.texi4
-rw-r--r--doc/emacs/search.texi3
-rw-r--r--doc/emacs/text.texi102
-rw-r--r--doc/lispref/commands.texi6
-rw-r--r--doc/lispref/display.texi9
-rw-r--r--doc/lispref/frames.texi9
-rw-r--r--doc/lispref/sequences.texi2
-rw-r--r--doc/lispref/strings.texi14
-rw-r--r--doc/lispref/syntax.texi9
-rw-r--r--doc/lispref/variables.texi6
-rw-r--r--doc/lispref/windows.texi12
-rw-r--r--doc/misc/gnus.texi5
-rw-r--r--doc/misc/speedbar.texi2
-rw-r--r--lisp/gnus/gnus-cloud.el4
-rw-r--r--lisp/help.el70
-rw-r--r--lisp/net/eww.el7
-rw-r--r--lisp/pixel-scroll.el10
-rw-r--r--lisp/progmodes/elisp-mode.el8
-rw-r--r--lisp/subr.el4
-rw-r--r--lisp/url/url-http.el2
-rw-r--r--src/xdisp.c8
23 files changed, 214 insertions, 91 deletions
diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi
index 936930e3b95..3adc87b8b5e 100644
--- a/doc/emacs/arevert-xtra.texi
+++ b/doc/emacs/arevert-xtra.texi
@@ -47,7 +47,13 @@ explained in the corresponding sections.
47@subsection Auto Reverting the Buffer Menu 47@subsection Auto Reverting the Buffer Menu
48 48
49If auto-reverting of non-file buffers is enabled, the Buffer Menu 49If auto-reverting of non-file buffers is enabled, the Buffer Menu
50(@pxref{Several Buffers}) automatically reverts every 50@iftex
51(@pxref{Several Buffers,,, emacs, the Emacs Manual})
52@end iftex
53@ifnottex
54(@pxref{Several Buffers})
55@end ifnottex
56automatically reverts every
51@code{auto-revert-interval} seconds, whether there is a need for it or 57@code{auto-revert-interval} seconds, whether there is a need for it or
52not. (It would probably take longer to check whether there is a need 58not. (It would probably take longer to check whether there is a need
53than to actually revert.) 59than to actually revert.)
diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi
index da4e9a083fc..6b8be48d84a 100644
--- a/doc/emacs/cal-xtra.texi
+++ b/doc/emacs/cal-xtra.texi
@@ -495,6 +495,7 @@ must absolutely not match more than a portion of the first word of the
495diary entry. For example, the default value of 495diary entry. For example, the default value of
496@code{diary-european-date-forms} is: 496@code{diary-european-date-forms} is:
497 497
498@c backup line is a fraction too wide in PDF, but it looks ok.
498@example 499@example
499((day "/" month "[^/0-9]") 500((day "/" month "[^/0-9]")
500 (day "/" month "/" year "[^0-9]") 501 (day "/" month "/" year "[^0-9]")
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 5860bacb9d8..28f6dae8ad0 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -1763,8 +1763,8 @@ Any other non-@code{nil} value is treated as @code{t}.
1763@findex display-line-numbers-mode 1763@findex display-line-numbers-mode
1764@findex global-display-line-numbers-mode 1764@findex global-display-line-numbers-mode
1765@vindex display-line-numbers-type 1765@vindex display-line-numbers-type
1766A convenient way of turning on display of line numbers is @w{@kbd{M-x 1766The command @kbd{M-x display-line-numbers-mode} provides a
1767display-line-numbers-mode @key{RET}}}. This mode has a globalized 1767convenient way to turn on display of line numbers. This mode has a globalized
1768variant, @code{global-display-line-numbers-mode}. The user option 1768variant, @code{global-display-line-numbers-mode}. The user option
1769@code{display-line-numbers-type} controls which sub-mode of 1769@code{display-line-numbers-type} controls which sub-mode of
1770line-number display, described above, will these modes activate. 1770line-number display, described above, will these modes activate.
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index c4853686ae0..d4b247847b8 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1735,7 +1735,8 @@ a multi-file incremental search is activated automatically.
1735@cindex match (face name) 1735@cindex match (face name)
1736@vindex list-matching-lines-default-context-lines 1736@vindex list-matching-lines-default-context-lines
1737@vindex list-matching-lines-jump-to-current-line 1737@vindex list-matching-lines-jump-to-current-line
1738@cindex list-matching-lines-current-line-face (face name) 1738@c Too long.
1739@c @cindex list-matching-lines-current-line-face (face name)
1739@kindex M-s o 1740@kindex M-s o
1740@findex occur 1741@findex occur
1741@item M-x occur 1742@item M-x occur
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index 7aa859d1772..58916982ab8 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -22,13 +22,17 @@ are also often useful for editing programs.
22the file contains ordinary text, use Text mode, which customizes Emacs 22the file contains ordinary text, use Text mode, which customizes Emacs
23in small ways for the syntactic conventions of text. Outline mode 23in small ways for the syntactic conventions of text. Outline mode
24provides special commands for operating on text with an outline 24provides special commands for operating on text with an outline
25structure. Org mode extends Outline mode and turn Emacs into a 25structure. @xref{Outline Mode}.
26full-fledged organizer: you can manage TODO lists, store notes and
27publish them in many formats.
28 26
29@iftex 27 Org mode extends Outline mode and turns Emacs into a full-fledged
30@xref{Outline Mode}. 28organizer: you can manage TODO lists, store notes and publish them in
31@end iftex 29many formats.
30@ifinfo
31@xref{Top, The Org Manual,,org, The Org Manual}.
32@end ifinfo
33@ifnotinfo
34See the Org Info manual, which is distributed with Emacs.
35@end ifnotinfo
32 36
33@cindex nXML mode 37@cindex nXML mode
34@cindex mode, XML 38@cindex mode, XML
@@ -324,6 +328,12 @@ that start a new paragraph and are contained in it must match only
324in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[ 328in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[
325\t]*$"}}, and @code{paragraph-separate} is @w{@code{"[ \t\f]*$"}}. 329\t]*$"}}, and @code{paragraph-separate} is @w{@code{"[ \t\f]*$"}}.
326 330
331 Note that @code{paragraph-start} and @code{paragraph-separate} are
332matched against the text at the left margin, which is not necessarily
333the beginning of the line, so these regexps should not use @samp{^} as
334an anchor, to ensure that the paragraph functions will work equally
335within a region of text indented by a margin setting.
336
327@node Pages 337@node Pages
328@section Pages 338@section Pages
329 339
@@ -414,22 +424,31 @@ beginning of a line.
414@cindex curved quotes 424@cindex curved quotes
415@cindex guillemets 425@cindex guillemets
416@findex electric-quote-mode 426@findex electric-quote-mode
427@c The funny quoting below is to make the printed version look
428@c correct. FIXME.
417 One common way to quote is the typewriter convention, which quotes 429 One common way to quote is the typewriter convention, which quotes
418using straight apostrophes @t{'like this'} or double-quotes @t{"like 430using straight apostrophes @t{'like this'} or double-quotes @t{"like
419this"}. Another common way is the curved quote convention, which uses 431this"}. Another common way is the curved quote convention, which uses
420left and right single or double quotation marks @t{‘like this’} or 432left and right single or double quotation marks `@t{like this}' or
421@t{“like this”}. In text files, typewriter quotes are simple and 433``@t{like this}''@footnote{
434The curved single quote characters are U+2018 LEFT SINGLE QUOTATION
435MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes
436are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE
437QUOTATION MARK. On text terminals which cannot display these
438characters, the Info reader might show them as the typewriter ASCII
439quote characters.
440}. In text files, typewriter quotes are simple and
422portable; curved quotes are less ambiguous and typically look nicer. 441portable; curved quotes are less ambiguous and typically look nicer.
423 442
424@vindex electric-quote-chars 443@vindex electric-quote-chars
425 Electric Quote mode makes it easier to type curved quotes. As you 444 Electric Quote mode makes it easier to type curved quotes. As you
426type characters it optionally converts @t{`} to @t{}, @t{'} to @t{’}, 445type characters it optionally converts @t{`} to ‘, @t{'} to ',
427@t{``} to @t{“}, and @t{''} to @t{”}. It's possible to change the 446@t{``} to ``, and @t{''} to ''. It's possible to change the
428default quotes listed above, by customizing the variable 447default quotes listed above, by customizing the variable
429@code{electric-quote-chars}, a list of four characters, where the 448@code{electric-quote-chars}, a list of four characters, where the
430items correspond to the left single quote, the right single quote, the 449items correspond to the left single quote, the right single quote, the
431left double quote and the right double quote, respectively, whose 450left double quote and the right double quote, respectively, whose
432default value is @code{'(? ? ? ?)}. 451default value is @code{'(?@r{`} ?@r{'} ?@r{``} ?@r{''})}.
433 452
434@vindex electric-quote-paragraph 453@vindex electric-quote-paragraph
435@vindex electric-quote-comment 454@vindex electric-quote-comment
@@ -450,13 +469,14 @@ curved double quote depending on context: @t{“} at the beginning of
450the buffer or after a line break, whitespace, opening parenthesis, or 469the buffer or after a line break, whitespace, opening parenthesis, or
451quote character, and @t{”} otherwise. 470quote character, and @t{”} otherwise.
452 471
453 Electric Quote mode is disabled by default. To toggle it, type 472 Electric Quote mode is disabled by default. To toggle it in a
454@kbd{M-x electric-quote-mode}. To toggle it in a single buffer, use 473single buffer, use @kbd{M-x electric-quote-local-mode}.
455@kbd{M-x electric-quote-local-mode}. To suppress it for a single use, 474To toggle it globally, type
475@kbd{M-x electric-quote-mode}. To suppress it for a single use,
456type @kbd{C-q `} or @kbd{C-q '} instead of @kbd{`} or @kbd{'}. To 476type @kbd{C-q `} or @kbd{C-q '} instead of @kbd{`} or @kbd{'}. To
457insert a curved quote even when Electric Quote is disabled or 477insert a curved quote even when Electric Quote is disabled or
458inactive, you can type @kbd{C-x 8 [} for @t{‘}, @kbd{C-x 8 ]} for 478inactive, you can type @kbd{C-x 8 [} for @t{‘}, @kbd{C-x 8 ]} for
459@t{’}, @kbd{C-x 8 @{} for @t{“}, and @kbd{C-x 8 @}} for @t{”}. 479@t{’}, @kbd{C-x 8 @{} for ``, and @kbd{C-x 8 @}} for ''.
460@xref{Inserting Text}. Note that the value of 480@xref{Inserting Text}. Note that the value of
461@code{electric-quote-chars} does not affect these keybindings, they 481@code{electric-quote-chars} does not affect these keybindings, they
462are not keybindings of @code{electric-quote-mode} but bound in 482are not keybindings of @code{electric-quote-mode} but bound in
@@ -485,8 +505,8 @@ text.
485@cindex mode, Auto Fill 505@cindex mode, Auto Fill
486 506
487 @dfn{Auto Fill} mode is a buffer-local minor mode (@pxref{Minor 507 @dfn{Auto Fill} mode is a buffer-local minor mode (@pxref{Minor
488Modes}) in which lines are broken automatically when they become too 508Modes}) in which lines are broken automatically at spaces when the
489wide. Breaking happens only when you type a @key{SPC} or @key{RET}. 509line becomes too wide.
490 510
491@table @kbd 511@table @kbd
492@item M-x auto-fill-mode 512@item M-x auto-fill-mode
@@ -498,14 +518,12 @@ In Auto Fill mode, break lines when appropriate.
498 518
499@findex auto-fill-mode 519@findex auto-fill-mode
500 The mode command @kbd{M-x auto-fill-mode} toggles Auto Fill mode in 520 The mode command @kbd{M-x auto-fill-mode} toggles Auto Fill mode in
501the current buffer. With a positive numeric argument, it enables Auto 521the current buffer. Like any other minor mode, with a positive
502Fill mode, and with a negative argument it disables it. If 522numeric argument, it enables Auto Fill mode, and with a negative
503@code{auto-fill-mode} is called from Lisp with an omitted or 523argument it disables it. To enable Auto Fill mode automatically in
504@code{nil} argument, it enables Auto Fill mode. To enable Auto Fill 524certain major modes, add @code{auto-fill-mode} to the mode hooks
505mode automatically in certain major modes, add @code{auto-fill-mode} 525(@pxref{Major Modes}). When Auto Fill mode is enabled, the mode
506to the mode hooks (@pxref{Major Modes}). When Auto Fill mode is 526indicator @samp{Fill} appears in the mode line (@pxref{Mode Line}).
507enabled, the mode indicator @samp{Fill} appears in the mode line
508(@pxref{Mode Line}).
509 527
510 Auto Fill mode breaks lines automatically at spaces whenever they 528 Auto Fill mode breaks lines automatically at spaces whenever they
511get longer than the desired width. This line breaking occurs only 529get longer than the desired width. This line breaking occurs only
@@ -1043,42 +1061,36 @@ forward to heading lines.
1043 1061
1044@table @kbd 1062@table @kbd
1045@item C-c C-n 1063@item C-c C-n
1064@findex outline-next-visible-heading
1065@kindex C-c C-n @r{(Outline mode)}
1046Move point to the next visible heading line 1066Move point to the next visible heading line
1047(@code{outline-next-visible-heading}). 1067(@code{outline-next-visible-heading}).
1048@item C-c C-p 1068@item C-c C-p
1069@findex outline-previous-visible-heading
1070@kindex C-c C-p @r{(Outline mode)}
1049Move point to the previous visible heading line 1071Move point to the previous visible heading line
1050(@code{outline-previous-visible-heading}). 1072(@code{outline-previous-visible-heading}).
1051@item C-c C-f 1073@item C-c C-f
1074@findex outline-forward-same-level
1075@kindex C-c C-f @r{(Outline mode)}
1052Move point to the next visible heading line at the same level 1076Move point to the next visible heading line at the same level
1053as the one point is on (@code{outline-forward-same-level}). 1077as the one point is on (@code{outline-forward-same-level}).
1054@item C-c C-b 1078@item C-c C-b
1079@findex outline-backward-same-level
1080@kindex C-c C-b @r{(Outline mode)}
1055Move point to the previous visible heading line at the same level 1081Move point to the previous visible heading line at the same level
1056(@code{outline-backward-same-level}). 1082(@code{outline-backward-same-level}).
1057@item C-c C-u 1083@item C-c C-u
1084@findex outline-up-heading
1085@kindex C-c C-u @r{(Outline mode)}
1058Move point up to a lower-level (more inclusive) visible heading line 1086Move point up to a lower-level (more inclusive) visible heading line
1059(@code{outline-up-heading}). 1087(@code{outline-up-heading}).
1060@end table 1088@end table
1061 1089
1062@findex outline-next-visible-heading 1090 All of the above commands accept numeric arguments as repeat counts.
1063@findex outline-previous-visible-heading 1091For example, @kbd{C-c C-f}, when given an argument, moves forward that
1064@kindex C-c C-n @r{(Outline mode)} 1092many visible heading lines on the same level, and @kbd{C-c C-u} with
1065@kindex C-c C-p @r{(Outline mode)} 1093an argument moves out of that many nested levels.
1066 @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to
1067the next heading line. @kbd{C-c C-p}
1068(@code{outline-previous-visible-heading}) moves similarly backward.
1069Both accept numeric arguments as repeat counts.
1070
1071@findex outline-up-heading
1072@findex outline-forward-same-level
1073@findex outline-backward-same-level
1074@kindex C-c C-f @r{(Outline mode)}
1075@kindex C-c C-b @r{(Outline mode)}
1076@kindex C-c C-u @r{(Outline mode)}
1077 @kbd{C-c C-f} (@code{outline-forward-same-level}) and @kbd{C-c C-b}
1078(@code{outline-backward-same-level}) move from one heading line to
1079another visible heading at the same depth in the outline. @kbd{C-c
1080C-u} (@code{outline-up-heading}) moves backward to another heading
1081that is less deeply nested.
1082 1094
1083@node Outline Visibility 1095@node Outline Visibility
1084@subsection Outline Visibility Commands 1096@subsection Outline Visibility Commands
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 16b58d3d3c8..a958cfdcad2 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -2634,9 +2634,9 @@ The return value is the matching value from @var{choices}.
2634@lisp 2634@lisp
2635(read-multiple-choice 2635(read-multiple-choice
2636 "Continue connecting?" 2636 "Continue connecting?"
2637 '((?a "always" "Accept this certificate this session and for all future sessions.") 2637 '((?a "always" "Accept certificate for this and future sessions.")
2638 (?s "session only" "Accept this certificate this session only.") 2638 (?s "session only" "Accept certificate this session only.")
2639 (?n "no" "Refuse to use this certificate, and close the connection."))) 2639 (?n "no" "Refuse to use certificate, close connection.")))
2640@end lisp 2640@end lisp
2641 2641
2642The @code{read-multiple-choice-face} face is used to highlight the 2642The @code{read-multiple-choice-face} face is used to highlight the
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 50069e3d1da..bf70717e05e 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -50,7 +50,7 @@ screen is corrupted.
50 50
51@defun redraw-frame &optional frame 51@defun redraw-frame &optional frame
52This function clears and redisplays frame @var{frame}. If @var{frame} 52This function clears and redisplays frame @var{frame}. If @var{frame}
53is omitted or nil, it redraws the selected frame. 53is omitted or @code{nil}, it redraws the selected frame.
54@end defun 54@end defun
55 55
56 Even more powerful is @code{redraw-display}: 56 Even more powerful is @code{redraw-display}:
@@ -1994,7 +1994,7 @@ defaults to the selected one.
1994If the optional argument @var{first} is an integer, it denotes the index 1994If the optional argument @var{first} is an integer, it denotes the index
1995(starting with 0) of the first line of @var{window}'s glyph matrix to be 1995(starting with 0) of the first line of @var{window}'s glyph matrix to be
1996returned. Note that if @var{window} has a header line, the line with 1996returned. Note that if @var{window} has a header line, the line with
1997index 0 is that header line. If @var{first} is nil, the first line to 1997index 0 is that header line. If @var{first} is @code{nil}, the first line to
1998be considered is determined by the value of the optional argument 1998be considered is determined by the value of the optional argument
1999@var{body}: If @var{body} is non-@code{nil}, this means to start with 1999@var{body}: If @var{body} is non-@code{nil}, this means to start with
2000the first line of @var{window}'s body, skipping any header line, if 2000the first line of @var{window}'s body, skipping any header line, if
@@ -2003,7 +2003,7 @@ present. Otherwise, this function will start with the first line of
2003 2003
2004If the optional argument @var{last} is an integer, it denotes the index 2004If the optional argument @var{last} is an integer, it denotes the index
2005of the last line of @var{window}'s glyph matrix that shall be returned. 2005of the last line of @var{window}'s glyph matrix that shall be returned.
2006If @var{last} is nil, the last line to be considered is determined by 2006If @var{last} is @code{nil}, the last line to be considered is determined by
2007the value of @var{body}: If @var{body} is non-@code{nil}, this means to 2007the value of @var{body}: If @var{body} is non-@code{nil}, this means to
2008use the last line of @var{window}'s body, omitting @var{window}'s mode 2008use the last line of @var{window}'s body, omitting @var{window}'s mode
2009line, if present. Otherwise, this means to use the last line of 2009line, if present. Otherwise, this means to use the last line of
@@ -5543,7 +5543,8 @@ inserts an image with a circle:
5543@lisp 5543@lisp
5544(let ((svg (svg-create 400 400 :stroke-width 10))) 5544(let ((svg (svg-create 400 400 :stroke-width 10)))
5545 (svg-gradient svg "gradient1" 'linear '((0 . "red") (100 . "blue"))) 5545 (svg-gradient svg "gradient1" 'linear '((0 . "red") (100 . "blue")))
5546 (svg-circle svg 200 200 100 :gradient "gradient1" :stroke-color "green") 5546 (svg-circle svg 200 200 100 :gradient "gradient1"
5547 :stroke-color "green")
5547 (insert-image (svg-image svg))) 5548 (insert-image (svg-image svg)))
5548@end lisp 5549@end lisp
5549 5550
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index ec75361ace3..1d4671b7e00 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -1569,7 +1569,7 @@ window-system window in the stacking (Z-) order of the frame's display.
1569 1569
1570If this is @code{above}, the frame's window-system window is displayed 1570If this is @code{above}, the frame's window-system window is displayed
1571above all other window-system windows that do not have the @code{above} 1571above all other window-system windows that do not have the @code{above}
1572property set. If this is nil, the frame's window is displayed below all 1572property set. If this is @code{nil}, the frame's window is displayed below all
1573windows that have the @code{above} property set and above all windows 1573windows that have the @code{above} property set and above all windows
1574that have the @code{below} property set. If this is @code{below}, the 1574that have the @code{below} property set. If this is @code{below}, the
1575frame's window is displayed below all windows that do not have the 1575frame's window is displayed below all windows that do not have the
@@ -1716,7 +1716,8 @@ file as, for example
1716 1716
1717@example 1717@example
1718(setq default-frame-alist 1718(setq default-frame-alist
1719 '((fullscreen . fullboth) (fullscreen-restore . fullheight))) 1719 '((fullscreen . fullboth)
1720 (fullscreen-restore . fullheight)))
1720@end example 1721@end example
1721 1722
1722This will give a new frame full height after typing in it @key{F11} for 1723This will give a new frame full height after typing in it @key{F11} for
@@ -1898,7 +1899,7 @@ These parameters supply forms of interactions between different frames.
1898@item parent-frame 1899@item parent-frame
1899If non-@code{nil}, this means that this frame is a child frame 1900If non-@code{nil}, this means that this frame is a child frame
1900(@pxref{Child Frames}), and this parameter specifies its parent frame. 1901(@pxref{Child Frames}), and this parameter specifies its parent frame.
1901If nil, this means that this frame is a normal, top-level frame. 1902If @code{nil}, this means that this frame is a normal, top-level frame.
1902 1903
1903@vindex delete-before, a frame parameter 1904@vindex delete-before, a frame parameter
1904@item delete-before 1905@item delete-before
@@ -2120,7 +2121,7 @@ this parameter.
2120If non-@code{nil}, this frame's window-system window is drawn without 2121If non-@code{nil}, this frame's window-system window is drawn without
2121decorations, like the title, minimize/maximize boxes and external 2122decorations, like the title, minimize/maximize boxes and external
2122borders. This usually means that the window cannot be dragged, resized, 2123borders. This usually means that the window cannot be dragged, resized,
2123iconified, maximized or deleted with the mouse. If nil, the frame's 2124iconified, maximized or deleted with the mouse. If @code{nil}, the frame's
2124window is usually drawn with all the elements listed above unless their 2125window is usually drawn with all the elements listed above unless their
2125display has been suspended via window manager settings. 2126display has been suspended via window manager settings.
2126 2127
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index 8d56e022d8f..b3c90af7236 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -1634,7 +1634,7 @@ argument @var{b} is given, the result of this operation is stored into
1634@end defun 1634@end defun
1635 1635
1636@defun bool-vector-subsetp a b 1636@defun bool-vector-subsetp a b
1637Return @code{t} if every @code{t} value in @var{a} is also t in 1637Return @code{t} if every @code{t} value in @var{a} is also @code{t} in
1638@var{b}, @code{nil} otherwise. All arguments should be bool vectors of the 1638@var{b}, @code{nil} otherwise. All arguments should be bool vectors of the
1639same length. 1639same length.
1640@end defun 1640@end defun
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 31734c5ecf6..5755e2f1b56 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -1204,6 +1204,7 @@ a character, functions are unable to perform proper substitution and
1204result may differ compared to treating a one-character string. For 1204result may differ compared to treating a one-character string. For
1205example: 1205example:
1206 1206
1207@ifnottex
1207@example 1208@example
1208@group 1209@group
1209(upcase "fi") ; note: single character, ligature "fi" 1210(upcase "fi") ; note: single character, ligature "fi"
@@ -1214,6 +1215,19 @@ example:
1214 @result{} 64257 ; i.e. ?fi 1215 @result{} 64257 ; i.e. ?fi
1215@end group 1216@end group
1216@end example 1217@end example
1218@end ifnottex
1219@iftex
1220@example
1221@group
1222(upcase "@r{fi}") ; note: single character, ligature "fi"
1223 @result{} "FI"
1224@end group
1225@group
1226(upcase ?@r{fi})
1227 @result{} 64257 ; i.e. ?@r{fi}
1228@end group
1229@end example
1230@end iftex
1217 1231
1218 To avoid this, a character must first be converted into a string, 1232 To avoid this, a character must first be converted into a string,
1219using @code{string} function, before being passed to one of the casing 1233using @code{string} function, before being passed to one of the casing
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index b37f2b22b82..566270fb52b 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -1099,12 +1099,13 @@ bidi-class}).
1099 (let ((category-table (make-category-table)) 1099 (let ((category-table (make-category-table))
1100 ;; Create a char-table which gives the 'bidi-class' Unicode 1100 ;; Create a char-table which gives the 'bidi-class' Unicode
1101 ;; property for each character. 1101 ;; property for each character.
1102 (uniprop-table (unicode-property-table-internal 'bidi-class))) 1102 (uniprop-table
1103 (unicode-property-table-internal 'bidi-class)))
1103 (define-category ?R "Characters of bidi-class R, AL, or RLO" 1104 (define-category ?R "Characters of bidi-class R, AL, or RLO"
1104 category-table) 1105 category-table)
1105 ;; Modify the category entry of each character whose 'bidi-class' 1106 ;; Modify the category entry of each character whose
1106 ;; Unicode property is R, AL, or RLO -- these have a 1107 ;; 'bidi-class' Unicode property is R, AL, or RLO --
1107 ;; right-to-left directionality. 1108 ;; these have a right-to-left directionality.
1108 (map-char-table 1109 (map-char-table
1109 #'(lambda (key val) 1110 #'(lambda (key val)
1110 (if (memq val '(R AL RLO)) 1111 (if (memq val '(R AL RLO))
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index 5bee0f9d82a..ad497a8b095 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -825,7 +825,7 @@ This function arranges for @var{watch-function} to be called whenever
825@var{operation} is a symbol representing the kind of change, one of: 825@var{operation} is a symbol representing the kind of change, one of:
826`set', `let', `unlet', `makunbound', and `defvaralias'. 826`set', `let', `unlet', `makunbound', and `defvaralias'.
827@var{where} is a buffer if the buffer-local value of the variable is 827@var{where} is a buffer if the buffer-local value of the variable is
828being changed, nil otherwise. 828being changed, @code{nil} otherwise.
829@end defun 829@end defun
830 830
831@defun remove-variable-watch symbol watch-function 831@defun remove-variable-watch symbol watch-function
@@ -2061,7 +2061,7 @@ identifying a connection and the application using this connection.
2061Property names might be @code{:application}, @code{:protocol}, 2061Property names might be @code{:application}, @code{:protocol},
2062@code{:user} and @code{:machine}. The property value of 2062@code{:user} and @code{:machine}. The property value of
2063@code{:application} is a symbol, all other property values are 2063@code{:application} is a symbol, all other property values are
2064strings. All properties are optional; if @var{criteria} is nil, it 2064strings. All properties are optional; if @var{criteria} is @code{nil}, it
2065always applies. Example: 2065always applies. Example:
2066 2066
2067@example 2067@example
@@ -2079,7 +2079,7 @@ always applies. Example:
2079@end group 2079@end group
2080@end example 2080@end example
2081 2081
2082 If @var{criteria} is nil, it applies for all remote connections. 2082 If @var{criteria} is @code{nil}, it applies for all remote connections.
2083Therefore, the example above would be equivalent to 2083Therefore, the example above would be equivalent to
2084 2084
2085@example 2085@example
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index d73b410f977..30a3c4a6eb2 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -3391,7 +3391,8 @@ producing the frame layout sketched above.
3391@example 3391@example
3392@group 3392@group
3393(defvar parameters 3393(defvar parameters
3394 '(window-parameters . ((no-other-window . t) (no-delete-other-windows . t)))) 3394 '(window-parameters . ((no-other-window . t)
3395 (no-delete-other-windows . t))))
3395 3396
3396(setq fit-window-to-buffer-horizontally t) 3397(setq fit-window-to-buffer-horizontally t)
3397(setq window-resize-pixelwise t) 3398(setq window-resize-pixelwise t)
@@ -3404,10 +3405,13 @@ producing the frame layout sketched above.
3404 ("\\*Tags List\\*" display-buffer-in-side-window 3405 ("\\*Tags List\\*" display-buffer-in-side-window
3405 (side . right) (slot . 0) (window-width . fit-window-to-buffer) 3406 (side . right) (slot . 0) (window-width . fit-window-to-buffer)
3406 (preserve-size . (t . nil)) ,parameters) 3407 (preserve-size . (t . nil)) ,parameters)
3407 ("\\*\\(?:help\\|grep\\|Completions\\)\\*" display-buffer-in-side-window 3408 ("\\*\\(?:help\\|grep\\|Completions\\)\\*"
3408 (side . bottom) (slot . -1) (preserve-size . (nil . t)) ,parameters) 3409 display-buffer-in-side-window
3410 (side . bottom) (slot . -1) (preserve-size . (nil . t))
3411 ,parameters)
3409 ("\\*\\(?:shell\\|compilation\\)\\*" display-buffer-in-side-window 3412 ("\\*\\(?:shell\\|compilation\\)\\*" display-buffer-in-side-window
3410 (side . bottom) (slot . 1) (preserve-size . (nil . t)) ,parameters))) 3413 (side . bottom) (slot . 1) (preserve-size . (nil . t))
3414 ,parameters)))
3411@end group 3415@end group
3412@end example 3416@end example
3413 3417
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index a2a879d5b58..ea54d2bc267 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -26202,7 +26202,10 @@ marks, so you have to do it locally.
26202 26202
26203The Gnus Cloud package stores the marks, plus any files you choose, on 26203The Gnus Cloud package stores the marks, plus any files you choose, on
26204an IMAP server in a special folder. It's like a 26204an IMAP server in a special folder. It's like a
26205DropTorrentSyncBoxOakTree(TM). 26205DropTorrentSyncBoxOakTree(TM).@footnote{The name ``Gnus Cloud''
26206parodizes but otherwise has little to do with ``cloud computing'', a
26207@url{https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing,
26208misleading term normally best avoided}.}
26206 26209
26207@menu 26210@menu
26208* Gnus Cloud Setup:: 26211* Gnus Cloud Setup::
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index ca0bc1f6f33..ba46f43fe91 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -49,7 +49,7 @@ packages, and web browsers.
49Speedbar displays a narrow frame in which a tree view is shown. This 49Speedbar displays a narrow frame in which a tree view is shown. This
50tree view defaults to containing a list of files and directories. Files 50tree view defaults to containing a list of files and directories. Files
51can be ``expanded'' to list tags inside. Directories can be expanded to 51can be ``expanded'' to list tags inside. Directories can be expanded to
52list the files within itself. Each file or tag can be jumped to 52list the files within them. Each file or tag can be jumped to
53immediately. 53immediately.
54 54
55Speedbar expands upon ``explorer'' windows by maintaining context with the 55Speedbar expands upon ``explorer'' windows by maintaining context with the
diff --git a/lisp/gnus/gnus-cloud.el b/lisp/gnus/gnus-cloud.el
index 409fc53df78..7e8d5e3f2f3 100644
--- a/lisp/gnus/gnus-cloud.el
+++ b/lisp/gnus/gnus-cloud.el
@@ -22,6 +22,10 @@
22 22
23;;; Commentary: 23;;; Commentary:
24 24
25;; The name gnus-cloud parodizes but otherwise has little to do with
26;; "cloud computing", a misleading term normally best avoided. See:
27;; https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing
28
25;;; Code: 29;;; Code:
26 30
27(eval-when-compile (require 'cl)) 31(eval-when-compile (require 'cl))
diff --git a/lisp/help.el b/lisp/help.el
index 212e3679dad..fa7f6b0d5b0 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -717,7 +717,7 @@ with `mouse-movement' events."
717 (cursor-in-echo-area t) 717 (cursor-in-echo-area t)
718 saved-yank-menu) 718 saved-yank-menu)
719 (unwind-protect 719 (unwind-protect
720 (let (key down-ev) 720 (let (key keys down-ev discarded-up)
721 ;; If yank-menu is empty, populate it temporarily, so that 721 ;; If yank-menu is empty, populate it temporarily, so that
722 ;; "Select and Paste" menu can generate a complete event. 722 ;; "Select and Paste" menu can generate a complete event.
723 (when (null (cdr yank-menu)) 723 (when (null (cdr yank-menu))
@@ -731,6 +731,7 @@ Describe the following key, mouse click, or menu item: "))
731 (or 731 (or
732 (and no-mouse-movement 732 (and no-mouse-movement
733 (string-match "mouse-movement" keyname)) 733 (string-match "mouse-movement" keyname))
734 (progn (push key keys) nil)
734 (and (string-match "\\(mouse\\|down\\|click\\|drag\\)" 735 (and (string-match "\\(mouse\\|down\\|click\\|drag\\)"
735 keyname) 736 keyname)
736 (progn 737 (progn
@@ -738,14 +739,36 @@ Describe the following key, mouse click, or menu item: "))
738 ;; spuriously trigger the `sit-for'. 739 ;; spuriously trigger the `sit-for'.
739 (sleep-for 0.01) 740 (sleep-for 0.01)
740 (while (read-event nil nil 0.01)) 741 (while (read-event nil nil 0.01))
741 (not (sit-for (/ double-click-time 1000.0) t)))))))) 742 (not (sit-for
743 (if (numberp double-click-time)
744 (/ double-click-time 1000.0)
745 3.0)
746 t))))))))
747 ;; When we have a sequence of mouse events, discard the most
748 ;; recent ones till we find one with a binding.
749 (let ((keys-1 keys))
750 (while (and keys-1
751 (not (key-binding (car keys-1))))
752 ;; If we discard the last event, and this was a mouse
753 ;; up, remember this.
754 (if (and (eq keys-1 keys)
755 (vectorp (car keys-1))
756 (let* ((last-idx (1- (length (car keys-1))))
757 (last (aref (car keys-1) last-idx)))
758 (and (eventp last)
759 (memq 'click (event-modifiers last)))))
760 (setq discarded-up t))
761 (setq keys-1 (cdr keys-1)))
762 (if keys-1
763 (setq key (car keys-1))))
742 (list 764 (list
743 key 765 key
744 ;; If KEY is a down-event, read and include the 766 ;; If KEY is a down-event, read and include the
745 ;; corresponding up-event. Note that there are also 767 ;; corresponding up-event. Note that there are also
746 ;; down-events on scroll bars and mode lines: the actual 768 ;; down-events on scroll bars and mode lines: the actual
747 ;; event then is in the second element of the vector. 769 ;; event then is in the second element of the vector.
748 (and (vectorp key) 770 (and (not discarded-up) ; Don't attempt to ignore the up-event twice.
771 (vectorp key)
749 (let ((last-idx (1- (length key)))) 772 (let ((last-idx (1- (length key))))
750 (and (eventp (aref key last-idx)) 773 (and (eventp (aref key last-idx))
751 (memq 'down (event-modifiers (aref key last-idx))))) 774 (memq 'down (event-modifiers (aref key last-idx)))))
@@ -769,6 +792,28 @@ Describe the following key, mouse click, or menu item: "))
769 (setq yank-menu (copy-sequence saved-yank-menu)) 792 (setq yank-menu (copy-sequence saved-yank-menu))
770 (fset 'yank-menu (cons 'keymap yank-menu)))))) 793 (fset 'yank-menu (cons 'keymap yank-menu))))))
771 794
795(defun help-downify-mouse-event-type (base)
796 "Add \"down-\" to BASE if it is not already there.
797BASE is a symbol, a mouse event type. If the modification is done,
798return the new symbol. Otherwise return nil."
799 (let ((base-s (symbol-name base)))
800 ;; Note: the order of the components in the following string is
801 ;; determined by `apply_modifiers_uncached' in src/keyboard.c.
802 (string-match "\\(A-\\)?\
803\\(C-\\)?\
804\\(H-\\)?\
805\\(M-\\)?\
806\\(S-\\)?\
807\\(s-\\)?\
808\\(double-\\)?\
809\\(triple-\\)?\
810\\(up-\\)?\
811\\(\\(down-\\)?\\)\
812\\(drag-\\)?" base-s)
813 (when (and (null (match-beginning 11)) ; "down-"
814 (null (match-beginning 12))) ; "drag-"
815 (intern (replace-match "down-" t t base-s 10)) )))
816
772(defun describe-key (&optional key untranslated up-event) 817(defun describe-key (&optional key untranslated up-event)
773 "Display documentation of the function invoked by KEY. 818 "Display documentation of the function invoked by KEY.
774KEY can be any kind of a key sequence; it can include keyboard events, 819KEY can be any kind of a key sequence; it can include keyboard events,
@@ -828,6 +873,25 @@ temporarily enables it to allow getting help on disabled items and buttons."
828 (princ (format " (found in %s)" key-locus)))) 873 (princ (format " (found in %s)" key-locus))))
829 (princ ", which is ") 874 (princ ", which is ")
830 (describe-function-1 defn) 875 (describe-function-1 defn)
876 (when (vectorp key)
877 (let* ((last (1- (length key)))
878 (elt (aref key last))
879 (elt-1 (copy-sequence elt))
880 key-1 down-event-type)
881 (when (and (listp elt-1)
882 (symbolp (car elt-1))
883 (setq down-event-type (help-downify-mouse-event-type
884 (car elt-1))))
885 (setcar elt-1 down-event-type)
886 (setq key-1 (vector elt-1))
887 (when (key-binding key-1)
888 (princ (format "
889
890For documentation of the corresponding mouse down event <%s>,
891click and hold the mouse button longer than %s second(s)."
892 down-event-type (if (numberp double-click-time)
893 (/ double-click-time 1000.0)
894 3)))))))
831 (when up-event 895 (when up-event
832 (unless (or (null defn-up) 896 (unless (or (null defn-up)
833 (integerp defn-up) 897 (integerp defn-up)
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index bff592c3fe2..fcd2b98797a 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -261,9 +261,10 @@ word(s) will be searched for via `eww-search-prefix'."
261 ;; IDNA characters. If not, transform to punycode to indicate that 261 ;; IDNA characters. If not, transform to punycode to indicate that
262 ;; there may be funny business going on. 262 ;; there may be funny business going on.
263 (let ((parsed (url-generic-parse-url url))) 263 (let ((parsed (url-generic-parse-url url)))
264 (unless (puny-highly-restrictive-domain-p (url-host parsed)) 264 (when (url-host parsed)
265 (setf (url-host parsed) (puny-encode-domain (url-host parsed))) 265 (unless (puny-highly-restrictive-domain-p (url-host parsed))
266 (setq url (url-recreate-url parsed)))) 266 (setf (url-host parsed) (puny-encode-domain (url-host parsed)))
267 (setq url (url-recreate-url parsed)))))
267 (plist-put eww-data :url url) 268 (plist-put eww-data :url url)
268 (plist-put eww-data :title "") 269 (plist-put eww-data :title "")
269 (eww-update-header-line-format) 270 (eww-update-header-line-format)
diff --git a/lisp/pixel-scroll.el b/lisp/pixel-scroll.el
index f64a4392b49..70244873b4b 100644
--- a/lisp/pixel-scroll.el
+++ b/lisp/pixel-scroll.el
@@ -110,11 +110,11 @@ This is an alternative of `scroll-up'. Scope moves downward."
110 pixel-resolution-fine-flag 110 pixel-resolution-fine-flag
111 (frame-char-height)) 111 (frame-char-height))
112 (pixel-line-height)))) 112 (pixel-line-height))))
113 (while (pixel-point-at-top-p amt) ; prevent too late (multi tries) 113 (if (pixel-eob-at-top-p) ; when end-of-the-buffer is close
114 (vertical-motion 1)) ; move point downward 114 (scroll-up 1) ; relay on robust method
115 (if (pixel-eob-at-top-p) ; when end-of-the-buffer is close 115 (while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
116 (scroll-up 1) ; relay on robust method 116 (vertical-motion 1)) ; move point downward
117 (pixel-scroll-pixel-up amt))))) ; move scope downward 117 (pixel-scroll-pixel-up amt))))) ; move scope downward
118 118
119(defun pixel-scroll-down (&optional arg) 119(defun pixel-scroll-down (&optional arg)
120 "Scroll text of selected window down ARG lines. 120 "Scroll text of selected window down ARG lines.
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 5c553319f69..a8be6918bd4 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -1700,9 +1700,11 @@ current buffer state and calls REPORT-FN when done."
1700 (when (eq (process-status proc) 'exit) 1700 (when (eq (process-status proc) 'exit)
1701 (unwind-protect 1701 (unwind-protect
1702 (cond 1702 (cond
1703 ((not (eq proc (with-current-buffer source-buffer 1703 ((not (and (buffer-live-p source-buffer)
1704 elisp-flymake--byte-compile-process))) 1704 (eq proc (with-current-buffer source-buffer
1705 (flymake-log :warning "byte-compile process %s obsolete" proc)) 1705 elisp-flymake--byte-compile-process))))
1706 (flymake-log :warning
1707 "byte-compile process %s obsolete" proc))
1706 ((zerop (process-exit-status proc)) 1708 ((zerop (process-exit-status proc))
1707 (elisp-flymake--byte-compile-done report-fn 1709 (elisp-flymake--byte-compile-done report-fn
1708 source-buffer 1710 source-buffer
diff --git a/lisp/subr.el b/lisp/subr.el
index e97ae54462c..67209b4d4f6 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -3478,8 +3478,8 @@ See also `with-temp-file' and `with-output-to-string'."
3478 3478
3479(defmacro with-silent-modifications (&rest body) 3479(defmacro with-silent-modifications (&rest body)
3480 "Execute BODY, pretending it does not modify the buffer. 3480 "Execute BODY, pretending it does not modify the buffer.
3481This macro is Typically used around modifications of 3481This macro is typically used around modifications of
3482text-properties which do not really affect the buffer's content. 3482text properties which do not really affect the buffer's content.
3483If BODY performs real modifications to the buffer's text, other 3483If BODY performs real modifications to the buffer's text, other
3484than cosmetic ones, undo data may become corrupted. 3484than cosmetic ones, undo data may become corrupted.
3485 3485
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index 51f158e5c21..f9cf32cf046 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -1384,7 +1384,7 @@ The return value of this function is the retrieval buffer."
1384 (error "error: %s" e))) 1384 (error "error: %s" e)))
1385 (error "error: gnutls support needed!"))) 1385 (error "error: gnutls support needed!")))
1386 (t 1386 (t
1387 (message "error response: %d" url-http-response-status) 1387 (url-http-debug "error response: %d" url-http-response-status)
1388 (url-http-activate-callback)))))) 1388 (url-http-activate-callback))))))
1389 1389
1390(defun url-http-async-sentinel (proc why) 1390(defun url-http-async-sentinel (proc why)
diff --git a/src/xdisp.c b/src/xdisp.c
index 7d13338e25a..d723c2a0c17 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -23685,6 +23685,14 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
23685 { 23685 {
23686 Lisp_Object spec; 23686 Lisp_Object spec;
23687 spec = safe__eval (true, XCAR (XCDR (elt))); 23687 spec = safe__eval (true, XCAR (XCDR (elt)));
23688 /* The :eval form could delete the frame stored in the
23689 iterator, which will cause a crash if we try to
23690 access faces and other fields (e.g., FRAME_KBOARD)
23691 on that frame. This is a nonsensical thing to do,
23692 and signaling an error from redisplay might be
23693 dangerous, but we cannot continue with an invalid frame. */
23694 if (!FRAME_LIVE_P (it->f))
23695 signal_error (":eval deleted the frame being displayed", elt);
23688 n += display_mode_element (it, depth, field_width - n, 23696 n += display_mode_element (it, depth, field_width - n,
23689 precision - n, spec, props, 23697 precision - n, spec, props,
23690 risky); 23698 risky);