diff options
| author | Glenn Morris | 2017-12-27 10:00:16 -0800 |
|---|---|---|
| committer | Glenn Morris | 2017-12-27 10:00:16 -0800 |
| commit | 08e1438a3bf781ce85c7af75f1fa73cb826ba3dd (patch) | |
| tree | 1d352669619c6b14c25bea2e698b3a3df52ee265 | |
| parent | da94ea92bc3ba6c236b394c00e6bbb725131a149 (diff) | |
| parent | fd358049719d203d33e6d23d2179aab06c71b49a (diff) | |
| download | emacs-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.texi | 8 | ||||
| -rw-r--r-- | doc/emacs/cal-xtra.texi | 1 | ||||
| -rw-r--r-- | doc/emacs/display.texi | 4 | ||||
| -rw-r--r-- | doc/emacs/search.texi | 3 | ||||
| -rw-r--r-- | doc/emacs/text.texi | 102 | ||||
| -rw-r--r-- | doc/lispref/commands.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/display.texi | 9 | ||||
| -rw-r--r-- | doc/lispref/frames.texi | 9 | ||||
| -rw-r--r-- | doc/lispref/sequences.texi | 2 | ||||
| -rw-r--r-- | doc/lispref/strings.texi | 14 | ||||
| -rw-r--r-- | doc/lispref/syntax.texi | 9 | ||||
| -rw-r--r-- | doc/lispref/variables.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/windows.texi | 12 | ||||
| -rw-r--r-- | doc/misc/gnus.texi | 5 | ||||
| -rw-r--r-- | doc/misc/speedbar.texi | 2 | ||||
| -rw-r--r-- | lisp/gnus/gnus-cloud.el | 4 | ||||
| -rw-r--r-- | lisp/help.el | 70 | ||||
| -rw-r--r-- | lisp/net/eww.el | 7 | ||||
| -rw-r--r-- | lisp/pixel-scroll.el | 10 | ||||
| -rw-r--r-- | lisp/progmodes/elisp-mode.el | 8 | ||||
| -rw-r--r-- | lisp/subr.el | 4 | ||||
| -rw-r--r-- | lisp/url/url-http.el | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
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 | ||
| 49 | If auto-reverting of non-file buffers is enabled, the Buffer Menu | 49 | If 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 | ||
| 56 | automatically 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 |
| 52 | not. (It would probably take longer to check whether there is a need | 58 | not. (It would probably take longer to check whether there is a need |
| 53 | than to actually revert.) | 59 | than 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 | |||
| 495 | diary entry. For example, the default value of | 495 | diary 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 |
| 1766 | A convenient way of turning on display of line numbers is @w{@kbd{M-x | 1766 | The command @kbd{M-x display-line-numbers-mode} provides a |
| 1767 | display-line-numbers-mode @key{RET}}}. This mode has a globalized | 1767 | convenient way to turn on display of line numbers. This mode has a globalized |
| 1768 | variant, @code{global-display-line-numbers-mode}. The user option | 1768 | variant, @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 |
| 1770 | line-number display, described above, will these modes activate. | 1770 | line-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. | |||
| 22 | the file contains ordinary text, use Text mode, which customizes Emacs | 22 | the file contains ordinary text, use Text mode, which customizes Emacs |
| 23 | in small ways for the syntactic conventions of text. Outline mode | 23 | in small ways for the syntactic conventions of text. Outline mode |
| 24 | provides special commands for operating on text with an outline | 24 | provides special commands for operating on text with an outline |
| 25 | structure. Org mode extends Outline mode and turn Emacs into a | 25 | structure. @xref{Outline Mode}. |
| 26 | full-fledged organizer: you can manage TODO lists, store notes and | ||
| 27 | publish 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}. | 28 | organizer: you can manage TODO lists, store notes and publish them in |
| 31 | @end iftex | 29 | many formats. |
| 30 | @ifinfo | ||
| 31 | @xref{Top, The Org Manual,,org, The Org Manual}. | ||
| 32 | @end ifinfo | ||
| 33 | @ifnotinfo | ||
| 34 | See 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 | |||
| 324 | in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[ | 328 | in 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 | ||
| 332 | matched against the text at the left margin, which is not necessarily | ||
| 333 | the beginning of the line, so these regexps should not use @samp{^} as | ||
| 334 | an anchor, to ensure that the paragraph functions will work equally | ||
| 335 | within 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 |
| 418 | using straight apostrophes @t{'like this'} or double-quotes @t{"like | 430 | using straight apostrophes @t{'like this'} or double-quotes @t{"like |
| 419 | this"}. Another common way is the curved quote convention, which uses | 431 | this"}. Another common way is the curved quote convention, which uses |
| 420 | left and right single or double quotation marks @t{‘like this’} or | 432 | left 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{ |
| 434 | The curved single quote characters are U+2018 LEFT SINGLE QUOTATION | ||
| 435 | MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes | ||
| 436 | are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE | ||
| 437 | QUOTATION MARK. On text terminals which cannot display these | ||
| 438 | characters, the Info reader might show them as the typewriter ASCII | ||
| 439 | quote characters. | ||
| 440 | }. In text files, typewriter quotes are simple and | ||
| 422 | portable; curved quotes are less ambiguous and typically look nicer. | 441 | portable; 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 |
| 426 | type characters it optionally converts @t{`} to @t{‘}, @t{'} to @t{’}, | 445 | type 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 |
| 428 | default quotes listed above, by customizing the variable | 447 | default 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 |
| 430 | items correspond to the left single quote, the right single quote, the | 449 | items correspond to the left single quote, the right single quote, the |
| 431 | left double quote and the right double quote, respectively, whose | 450 | left double quote and the right double quote, respectively, whose |
| 432 | default value is @code{'(?‘ ?’ ?“ ?”)}. | 451 | default 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 | |||
| 450 | the buffer or after a line break, whitespace, opening parenthesis, or | 469 | the buffer or after a line break, whitespace, opening parenthesis, or |
| 451 | quote character, and @t{”} otherwise. | 470 | quote 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 | 473 | single buffer, use @kbd{M-x electric-quote-local-mode}. |
| 455 | @kbd{M-x electric-quote-local-mode}. To suppress it for a single use, | 474 | To toggle it globally, type |
| 475 | @kbd{M-x electric-quote-mode}. To suppress it for a single use, | ||
| 456 | type @kbd{C-q `} or @kbd{C-q '} instead of @kbd{`} or @kbd{'}. To | 476 | type @kbd{C-q `} or @kbd{C-q '} instead of @kbd{`} or @kbd{'}. To |
| 457 | insert a curved quote even when Electric Quote is disabled or | 477 | insert a curved quote even when Electric Quote is disabled or |
| 458 | inactive, you can type @kbd{C-x 8 [} for @t{‘}, @kbd{C-x 8 ]} for | 478 | inactive, 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 |
| 462 | are not keybindings of @code{electric-quote-mode} but bound in | 482 | are 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 |
| 488 | Modes}) in which lines are broken automatically when they become too | 508 | Modes}) in which lines are broken automatically at spaces when the |
| 489 | wide. Breaking happens only when you type a @key{SPC} or @key{RET}. | 509 | line 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 |
| 501 | the current buffer. With a positive numeric argument, it enables Auto | 521 | the current buffer. Like any other minor mode, with a positive |
| 502 | Fill mode, and with a negative argument it disables it. If | 522 | numeric argument, it enables Auto Fill mode, and with a negative |
| 503 | @code{auto-fill-mode} is called from Lisp with an omitted or | 523 | argument it disables it. To enable Auto Fill mode automatically in |
| 504 | @code{nil} argument, it enables Auto Fill mode. To enable Auto Fill | 524 | certain major modes, add @code{auto-fill-mode} to the mode hooks |
| 505 | mode automatically in certain major modes, add @code{auto-fill-mode} | 525 | (@pxref{Major Modes}). When Auto Fill mode is enabled, the mode |
| 506 | to the mode hooks (@pxref{Major Modes}). When Auto Fill mode is | 526 | indicator @samp{Fill} appears in the mode line (@pxref{Mode Line}). |
| 507 | enabled, 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 |
| 511 | get longer than the desired width. This line breaking occurs only | 529 | get 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)} | ||
| 1046 | Move point to the next visible heading line | 1066 | Move 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)} | ||
| 1049 | Move point to the previous visible heading line | 1071 | Move 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)} | ||
| 1052 | Move point to the next visible heading line at the same level | 1076 | Move point to the next visible heading line at the same level |
| 1053 | as the one point is on (@code{outline-forward-same-level}). | 1077 | as 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)} | ||
| 1055 | Move point to the previous visible heading line at the same level | 1081 | Move 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)} | ||
| 1058 | Move point up to a lower-level (more inclusive) visible heading line | 1086 | Move 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 | 1091 | For example, @kbd{C-c C-f}, when given an argument, moves forward that |
| 1064 | @kindex C-c C-n @r{(Outline mode)} | 1092 | many visible heading lines on the same level, and @kbd{C-c C-u} with |
| 1065 | @kindex C-c C-p @r{(Outline mode)} | 1093 | an argument moves out of that many nested levels. |
| 1066 | @kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to | ||
| 1067 | the next heading line. @kbd{C-c C-p} | ||
| 1068 | (@code{outline-previous-visible-heading}) moves similarly backward. | ||
| 1069 | Both 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 | ||
| 1079 | another visible heading at the same depth in the outline. @kbd{C-c | ||
| 1080 | C-u} (@code{outline-up-heading}) moves backward to another heading | ||
| 1081 | that 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 | ||
| 2642 | The @code{read-multiple-choice-face} face is used to highlight the | 2642 | The @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 |
| 52 | This function clears and redisplays frame @var{frame}. If @var{frame} | 52 | This function clears and redisplays frame @var{frame}. If @var{frame} |
| 53 | is omitted or nil, it redraws the selected frame. | 53 | is 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. | |||
| 1994 | If the optional argument @var{first} is an integer, it denotes the index | 1994 | If 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 |
| 1996 | returned. Note that if @var{window} has a header line, the line with | 1996 | returned. Note that if @var{window} has a header line, the line with |
| 1997 | index 0 is that header line. If @var{first} is nil, the first line to | 1997 | index 0 is that header line. If @var{first} is @code{nil}, the first line to |
| 1998 | be considered is determined by the value of the optional argument | 1998 | be 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 |
| 2000 | the first line of @var{window}'s body, skipping any header line, if | 2000 | the 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 | ||
| 2004 | If the optional argument @var{last} is an integer, it denotes the index | 2004 | If the optional argument @var{last} is an integer, it denotes the index |
| 2005 | of the last line of @var{window}'s glyph matrix that shall be returned. | 2005 | of the last line of @var{window}'s glyph matrix that shall be returned. |
| 2006 | If @var{last} is nil, the last line to be considered is determined by | 2006 | If @var{last} is @code{nil}, the last line to be considered is determined by |
| 2007 | the value of @var{body}: If @var{body} is non-@code{nil}, this means to | 2007 | the value of @var{body}: If @var{body} is non-@code{nil}, this means to |
| 2008 | use the last line of @var{window}'s body, omitting @var{window}'s mode | 2008 | use the last line of @var{window}'s body, omitting @var{window}'s mode |
| 2009 | line, if present. Otherwise, this means to use the last line of | 2009 | line, 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 | ||
| 1570 | If this is @code{above}, the frame's window-system window is displayed | 1570 | If this is @code{above}, the frame's window-system window is displayed |
| 1571 | above all other window-system windows that do not have the @code{above} | 1571 | above all other window-system windows that do not have the @code{above} |
| 1572 | property set. If this is nil, the frame's window is displayed below all | 1572 | property set. If this is @code{nil}, the frame's window is displayed below all |
| 1573 | windows that have the @code{above} property set and above all windows | 1573 | windows that have the @code{above} property set and above all windows |
| 1574 | that have the @code{below} property set. If this is @code{below}, the | 1574 | that have the @code{below} property set. If this is @code{below}, the |
| 1575 | frame's window is displayed below all windows that do not have the | 1575 | frame'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 | ||
| 1722 | This will give a new frame full height after typing in it @key{F11} for | 1723 | This 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 |
| 1899 | If non-@code{nil}, this means that this frame is a child frame | 1900 | If 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. |
| 1901 | If nil, this means that this frame is a normal, top-level frame. | 1902 | If @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. | |||
| 2120 | If non-@code{nil}, this frame's window-system window is drawn without | 2121 | If non-@code{nil}, this frame's window-system window is drawn without |
| 2121 | decorations, like the title, minimize/maximize boxes and external | 2122 | decorations, like the title, minimize/maximize boxes and external |
| 2122 | borders. This usually means that the window cannot be dragged, resized, | 2123 | borders. This usually means that the window cannot be dragged, resized, |
| 2123 | iconified, maximized or deleted with the mouse. If nil, the frame's | 2124 | iconified, maximized or deleted with the mouse. If @code{nil}, the frame's |
| 2124 | window is usually drawn with all the elements listed above unless their | 2125 | window is usually drawn with all the elements listed above unless their |
| 2125 | display has been suspended via window manager settings. | 2126 | display 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 |
| 1637 | Return @code{t} if every @code{t} value in @var{a} is also t in | 1637 | Return @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 |
| 1639 | same length. | 1639 | same 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 | |||
| 1204 | result may differ compared to treating a one-character string. For | 1204 | result may differ compared to treating a one-character string. For |
| 1205 | example: | 1205 | example: |
| 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, |
| 1219 | using @code{string} function, before being passed to one of the casing | 1233 | using @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 |
| 828 | being changed, nil otherwise. | 828 | being 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. | |||
| 2061 | Property names might be @code{:application}, @code{:protocol}, | 2061 | Property 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 |
| 2064 | strings. All properties are optional; if @var{criteria} is nil, it | 2064 | strings. All properties are optional; if @var{criteria} is @code{nil}, it |
| 2065 | always applies. Example: | 2065 | always 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. |
| 2083 | Therefore, the example above would be equivalent to | 2083 | Therefore, 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 | ||
| 26203 | The Gnus Cloud package stores the marks, plus any files you choose, on | 26203 | The Gnus Cloud package stores the marks, plus any files you choose, on |
| 26204 | an IMAP server in a special folder. It's like a | 26204 | an IMAP server in a special folder. It's like a |
| 26205 | DropTorrentSyncBoxOakTree(TM). | 26205 | DropTorrentSyncBoxOakTree(TM).@footnote{The name ``Gnus Cloud'' |
| 26206 | parodizes but otherwise has little to do with ``cloud computing'', a | ||
| 26207 | @url{https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing, | ||
| 26208 | misleading 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. | |||
| 49 | Speedbar displays a narrow frame in which a tree view is shown. This | 49 | Speedbar displays a narrow frame in which a tree view is shown. This |
| 50 | tree view defaults to containing a list of files and directories. Files | 50 | tree view defaults to containing a list of files and directories. Files |
| 51 | can be ``expanded'' to list tags inside. Directories can be expanded to | 51 | can be ``expanded'' to list tags inside. Directories can be expanded to |
| 52 | list the files within itself. Each file or tag can be jumped to | 52 | list the files within them. Each file or tag can be jumped to |
| 53 | immediately. | 53 | immediately. |
| 54 | 54 | ||
| 55 | Speedbar expands upon ``explorer'' windows by maintaining context with the | 55 | Speedbar 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. | ||
| 797 | BASE is a symbol, a mouse event type. If the modification is done, | ||
| 798 | return 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. |
| 774 | KEY can be any kind of a key sequence; it can include keyboard events, | 819 | KEY 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 | |||
| 890 | For documentation of the corresponding mouse down event <%s>, | ||
| 891 | click 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. |
| 3481 | This macro is Typically used around modifications of | 3481 | This macro is typically used around modifications of |
| 3482 | text-properties which do not really affect the buffer's content. | 3482 | text properties which do not really affect the buffer's content. |
| 3483 | If BODY performs real modifications to the buffer's text, other | 3483 | If BODY performs real modifications to the buffer's text, other |
| 3484 | than cosmetic ones, undo data may become corrupted. | 3484 | than 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); |