diff options
| author | Glenn Morris | 2020-03-07 07:50:28 -0800 |
|---|---|---|
| committer | Glenn Morris | 2020-03-07 07:50:28 -0800 |
| commit | 3274b8090bf18dec00b6ce45d6a01bf5263982ed (patch) | |
| tree | 51eefa044043b38e239e23049592a7e49808aa72 | |
| parent | c996fe1ec69de0082043397d4965d08cb94892fb (diff) | |
| parent | 72f87f88739befce2adf202749b7d651a8ef1551 (diff) | |
| download | emacs-3274b8090bf18dec00b6ce45d6a01bf5263982ed.tar.gz emacs-3274b8090bf18dec00b6ce45d6a01bf5263982ed.zip | |
Merge from origin/emacs-27
72f87f8873 (origin/emacs-27) NS port documentation updates
5b19db98ad ; * etc/NEWS: correctly describe what fido-mode is
fc47e3ad99 Let fido-mode users force a minibuffer-exit
e734961d4c icomplete-fido-exit: New command for the M-j binding
335a9bd215 minibuffer-force-complete-and-exit: Allow input with no ma...
34132d4bf6 ; * etc/NEWS: Mark 2 entries as fully documented.
d28b73841b ; * etc/NEWS: Fix the 'mml-secure-openpgp-sign-with-sender...
d1d56a9fd9 ; * etc/NEWS: 'thunk-let' and 'thunk-let*' are fully docum...
fc4f4efabf ; * etc/NEWS: No need to document vc-hg and mergebase chan...
9e8456cf0f ; * etc/NEWS: No need to document changes in Octave mode.
25b4d6fa28 ; * etc/NEWS: No need to document changes in map.el and se...
fc4d0f86da ; * etc/NEWS: No need to document Ido news.
d4ac478cb3 ; * etc/NEWS: No need to document news of doc-view.el.
08c042bd26 Document that 'byte-compile-dynamic' is obsolete
512b66abd7 ; * etc/NEWS: No need to document 'goto-address-uri-scheme...
3103c01c3e ; * etc/NEWS: Formatting fixes.
98306fdfb8 ; * etc/NEWS: No need to document deprecation of 'cl'.
6281ed58be ; * etc/NEWS: No need to document the change in 'list-proc...
e252341e11 ; * etc/NEWS: 'backup-by-copying-when-privileged-mismatch'...
ec5a267ddc ; * etc/NEWS: Mark 'byte-count-to-string-function' as undo...
89307ebccd ; * etc/NEWS: Mark 'completion-common-part' face entry as ...
fdbe7cacfb Document the changes in 'read-answer'
10c58356e4 Document changes in lexical-binding
5cb312b5b9 Update ERC mailing list address
cb1877321b Use regexp-opt to define bibtex-autokey-transcriptions. (...
3f9c340de0 Improve documentation of 'table-generate-source'
33b31dc314 Attempt to avoid rare segfaults in show_mouse_face
88c6db9196 Avoid crashes when a fontset has strange entries
1814c7e158 Fix rx error with ? and ??
40fb20061e * lisp/emacs-lisp/rx.el (rx--string-to-intervals): Fix err...
08d7d28d35 Fix args in 'window-text-pixel-size' call in 'fit-window-t...
cb1e30910e Have pulse.el preserve existing overlay priorities
# Conflicts:
# etc/NEWS
| -rw-r--r-- | doc/emacs/macos.texi | 69 | ||||
| -rw-r--r-- | doc/lispref/compile.texi | 6 | ||||
| -rw-r--r-- | doc/lispref/minibuf.texi | 20 | ||||
| -rw-r--r-- | doc/lispref/variables.texi | 10 | ||||
| -rw-r--r-- | etc/NEWS.27 | 64 | ||||
| -rw-r--r-- | lisp/cedet/pulse.el | 2 | ||||
| -rw-r--r-- | lisp/emacs-lisp/rx.el | 4 | ||||
| -rw-r--r-- | lisp/erc/erc.el | 2 | ||||
| -rw-r--r-- | lisp/icomplete.el | 15 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 11 | ||||
| -rw-r--r-- | lisp/textmodes/bibtex.el | 50 | ||||
| -rw-r--r-- | lisp/textmodes/table.el | 21 | ||||
| -rw-r--r-- | lisp/window.el | 4 | ||||
| -rw-r--r-- | src/fontset.c | 12 | ||||
| -rw-r--r-- | src/xdisp.c | 4 | ||||
| -rw-r--r-- | test/lisp/emacs-lisp/rx-tests.el | 4 |
16 files changed, 213 insertions, 85 deletions
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index ae1b8d654f0..00daa8b35d3 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi | |||
| @@ -143,6 +143,64 @@ The variables for right-hand keys, like @code{ns-right-alternate-modifier}, | |||
| 143 | may also be set to @code{left}, which means to use the same behavior as | 143 | may also be set to @code{left}, which means to use the same behavior as |
| 144 | the corresponding left-hand key. | 144 | the corresponding left-hand key. |
| 145 | 145 | ||
| 146 | @subsection Frame Variables | ||
| 147 | |||
| 148 | @table @code | ||
| 149 | @vindex ns-use-proxy-icon | ||
| 150 | @item ns-use-proxy-icon | ||
| 151 | This variable specifies whether to display the proxy icon in the | ||
| 152 | titlebar. | ||
| 153 | |||
| 154 | @vindex ns-confirm-quit | ||
| 155 | @item ns-confirm-quit | ||
| 156 | This variable specifies whether to display a graphical confirmation | ||
| 157 | dialogue on quitting. | ||
| 158 | |||
| 159 | @vindex ns-auto-hide-menu-bar | ||
| 160 | @item ns-auto-hide-menu-bar | ||
| 161 | This variable specifies whether the macOS menu bar is hidden when an | ||
| 162 | Emacs frame is selected. If non-nil the menu bar is not shown unless | ||
| 163 | the mouse pointer is moved near to the top of the screen. | ||
| 164 | |||
| 165 | @vindex ns-use-native-fullscreen | ||
| 166 | @item ns-use-native-fullscreen | ||
| 167 | This variable controls whether to use native, or non-native | ||
| 168 | fullscreen. Native fullscreen is only available on macOS 10.7 and | ||
| 169 | above. | ||
| 170 | @end table | ||
| 171 | |||
| 172 | @subsection macOS Trackpad/Mousewheel Variables | ||
| 173 | |||
| 174 | These variables only apply to macOS 10.7 (Lion) and above. | ||
| 175 | |||
| 176 | @table @code | ||
| 177 | @vindex ns-use-mwheel-acceleration | ||
| 178 | @item ns-use-mwheel-acceleration | ||
| 179 | This variable controls whether Emacs ignores the system mousewheel | ||
| 180 | acceleration. When nil each `click' of the mousewheel will correspond | ||
| 181 | exactly with one mousewheel event. When non-nil, the default, each | ||
| 182 | `click' may correspond with more than one mousewheel event, depending | ||
| 183 | on the user's input. | ||
| 184 | |||
| 185 | @vindex ns-use-mwheel-momentum | ||
| 186 | @item ns-use-mwheel-momentum | ||
| 187 | This variable controls whether Emacs ignores the system `momentum' | ||
| 188 | when scrolling using a trackpad. When non-nil, the default, scrolling | ||
| 189 | rapidly may result in the buffer continuing to scroll for a short | ||
| 190 | while after the user has lifted their fingers off the trackpad. | ||
| 191 | |||
| 192 | @vindex ns-mwheel-line-height | ||
| 193 | @item ns-mwheel-line-height | ||
| 194 | This variable controls the sensitivity of scrolling with the trackpad. | ||
| 195 | Apple trackpads scroll by pixels, not lines, so Emacs converts the | ||
| 196 | system's pixel values into lines. When set to a number, this variable | ||
| 197 | sets the number of pixels Emacs will consider as one line. When nil | ||
| 198 | or a non-number the default line height is used. | ||
| 199 | |||
| 200 | Setting a lower number makes the trackpad more sensitive, and a higher | ||
| 201 | number makes the trackpad less sensitive. | ||
| 202 | @end table | ||
| 203 | |||
| 146 | @subsection Font Panel | 204 | @subsection Font Panel |
| 147 | 205 | ||
| 148 | @findex ns-popup-font-panel | 206 | @findex ns-popup-font-panel |
| @@ -153,17 +211,6 @@ recently used or clicked on. | |||
| 153 | @c To make the setting permanent, use @samp{Save Options} in the | 211 | @c To make the setting permanent, use @samp{Save Options} in the |
| 154 | @c Options menu, or run @code{menu-bar-options-save}. | 212 | @c Options menu, or run @code{menu-bar-options-save}. |
| 155 | 213 | ||
| 156 | @cindex Core Text, on macOS | ||
| 157 | @cindex font backend, on macOS | ||
| 158 | In macOS, Emacs uses a Core Text based font backend | ||
| 159 | by default. If you prefer the older font style, enter the following | ||
| 160 | at the command-line before starting Emacs: | ||
| 161 | |||
| 162 | @example | ||
| 163 | % defaults write org.gnu.Emacs FontBackend ns | ||
| 164 | @end example | ||
| 165 | |||
| 166 | |||
| 167 | @node Mac / GNUstep Events | 214 | @node Mac / GNUstep Events |
| 168 | @section Windowing System Events under macOS / GNUstep | 215 | @section Windowing System Events under macOS / GNUstep |
| 169 | @cindex events on macOS | 216 | @cindex events on macOS |
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index 311b6f5b3fb..e979fda41eb 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi | |||
| @@ -302,7 +302,7 @@ function is called, it reads the full definition from the file, to | |||
| 302 | replace the place-holder. | 302 | replace the place-holder. |
| 303 | 303 | ||
| 304 | The advantage of dynamic function loading is that loading the file | 304 | The advantage of dynamic function loading is that loading the file |
| 305 | becomes much faster. This is a good thing for a file which contains | 305 | should become faster. This is a good thing for a file which contains |
| 306 | many separate user-callable functions, if using one of them does not | 306 | many separate user-callable functions, if using one of them does not |
| 307 | imply you will probably also use the rest. A specialized mode which | 307 | imply you will probably also use the rest. A specialized mode which |
| 308 | provides many keyboard commands often has that usage pattern: a user may | 308 | provides many keyboard commands often has that usage pattern: a user may |
| @@ -326,6 +326,10 @@ installed Emacs files. But they are quite likely to happen with Lisp | |||
| 326 | files that you are changing. The easiest way to prevent these problems | 326 | files that you are changing. The easiest way to prevent these problems |
| 327 | is to reload the new compiled file immediately after each recompilation. | 327 | is to reload the new compiled file immediately after each recompilation. |
| 328 | 328 | ||
| 329 | @emph{Experience shows that using dynamic function loading provides | ||
| 330 | benefits that are hardly measurable, so this feature is deprecated | ||
| 331 | since Emacs 27.1.} | ||
| 332 | |||
| 329 | The byte compiler uses the dynamic function loading feature if the | 333 | The byte compiler uses the dynamic function loading feature if the |
| 330 | variable @code{byte-compile-dynamic} is non-@code{nil} at compilation | 334 | variable @code{byte-compile-dynamic} is non-@code{nil} at compilation |
| 331 | time. Do not set this variable globally, since dynamic loading is | 335 | time. Do not set this variable globally, since dynamic loading is |
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index ac38b9d390d..2488fb37529 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi | |||
| @@ -2236,16 +2236,16 @@ the end of @var{question}. The possible responses are provided in | |||
| 2236 | @noindent | 2236 | @noindent |
| 2237 | where @var{long-answer} is the complete text of the user response, a | 2237 | where @var{long-answer} is the complete text of the user response, a |
| 2238 | string; @var{short-answer} is a short form of the same response, a | 2238 | string; @var{short-answer} is a short form of the same response, a |
| 2239 | single character; and @var{help-message} is the text that describes | 2239 | single character or a function key; and @var{help-message} is the text |
| 2240 | the meaning of the answer. If the variable @code{read-answer-short} | 2240 | that describes the meaning of the answer. If the variable |
| 2241 | is non-@code{nil}, the prompt will show the short variants of the | 2241 | @code{read-answer-short} is non-@code{nil}, the prompt will show the |
| 2242 | possible answers and the user is expected to type the single | 2242 | short variants of the possible answers and the user is expected to |
| 2243 | characters shown in the prompt; otherwise the prompt will show the | 2243 | type the single characters/keys shown in the prompt; otherwise the |
| 2244 | long variants of the answers, and the user is expected to type the | 2244 | prompt will show the long variants of the answers, and the user is |
| 2245 | full text of one of the answers and end by pressing @key{RET}. If | 2245 | expected to type the full text of one of the answers and end by |
| 2246 | @code{use-dialog-box} is non-@code{nil}, and this function was invoked | 2246 | pressing @key{RET}. If @code{use-dialog-box} is non-@code{nil}, and |
| 2247 | by mouse events, the question and the answers will be displayed in a | 2247 | this function was invoked by mouse events, the question and the |
| 2248 | GUI dialog box. | 2248 | answers will be displayed in a GUI dialog box. |
| 2249 | 2249 | ||
| 2250 | The function returns the text of the @var{long-answer} selected by the | 2250 | The function returns the text of the @var{long-answer} selected by the |
| 2251 | user, regardless of whether long or short answers were shown in the | 2251 | user, regardless of whether long or short answers were shown in the |
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 33897bb6336..abcd4bbd0f7 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi | |||
| @@ -1187,8 +1187,14 @@ When evaluating Emacs Lisp code directly using an @code{eval} call, | |||
| 1187 | lexical binding is enabled if the @var{lexical} argument to | 1187 | lexical binding is enabled if the @var{lexical} argument to |
| 1188 | @code{eval} is non-@code{nil}. @xref{Eval}. | 1188 | @code{eval} is non-@code{nil}. @xref{Eval}. |
| 1189 | 1189 | ||
| 1190 | Lexical binding is also enabled in Lisp Interaction and IELM | 1190 | @findex eval-expression@r{, and }lexical-binding |
| 1191 | mode, used in the @file{*scratch*} and @file{*ielm*} buffers. | 1191 | Lexical binding is also enabled in Lisp Interaction and IELM mode, |
| 1192 | used in the @file{*scratch*} and @file{*ielm*} buffers, and also when | ||
| 1193 | evaluating expressions via @kbd{M-:} (@code{eval-expression}) and when | ||
| 1194 | processing the @option{--eval} command-line options of Emacs | ||
| 1195 | (@pxref{Action Arguments,,, emacs, The GNU Emacs Manual}) and | ||
| 1196 | @command{emacsclient} (@pxref{emacsclient Options,,, emacs, The GNU | ||
| 1197 | Emacs Manual}). | ||
| 1192 | 1198 | ||
| 1193 | @cindex special variables | 1199 | @cindex special variables |
| 1194 | Even when lexical binding is enabled, certain variables will | 1200 | Even when lexical binding is enabled, certain variables will |
diff --git a/etc/NEWS.27 b/etc/NEWS.27 index 8d0e0b67591..1eff9261147 100644 --- a/etc/NEWS.27 +++ b/etc/NEWS.27 | |||
| @@ -347,14 +347,18 @@ The default value is 30000, as the previously hard-coded threshold. | |||
| 347 | +++ | 347 | +++ |
| 348 | ** The function 'read-passwd' uses "*" as default character to hide passwords. | 348 | ** The function 'read-passwd' uses "*" as default character to hide passwords. |
| 349 | 349 | ||
| 350 | +++ | ||
| 350 | ** The function 'read-answer' now accepts not only single character | 351 | ** The function 'read-answer' now accepts not only single character |
| 351 | answers, but also function keys like 'F1', character events such as | 352 | answers, but also function keys like 'F1', character events such as |
| 352 | 'C-M-h', and control characters like 'C-h'. | 353 | 'C-M-h', and control characters like 'C-h'. |
| 353 | 354 | ||
| 354 | ** Lexical binding is now used when evaluating interactive Elisp forms. | 355 | +++ |
| 355 | More specifically, 'lexical-binding' is now used for 'M-:', '--eval', | 356 | ** Lexical binding is now used by default when evaluating interactive Elisp. |
| 356 | as well as in 'lisp-interaction-mode' and 'ielm-mode', used in the | 357 | More specifically, 'lexical-binding' is now used by default for 'M-:' |
| 357 | "*scratch*" and "*ielm*" buffers. | 358 | and '--eval' (including in evaluations invoked from 'emacsclient' via |
| 359 | its '--eval' command-line option), as well as in | ||
| 360 | 'lisp-interaction-mode' and 'ielm-mode', used in the "*scratch*" and | ||
| 361 | "*ielm*" buffers. | ||
| 358 | 362 | ||
| 359 | --- | 363 | --- |
| 360 | ** The new user option 'tooltip-resize-echo-area' avoids truncating | 364 | ** The new user option 'tooltip-resize-echo-area' avoids truncating |
| @@ -489,6 +493,7 @@ matches strings where the pattern appears as a subsequence. Put | |||
| 489 | simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex' | 493 | simply, makes "foo" complete to both "barfoo" and "frodo". Add 'flex' |
| 490 | to 'completion-styles' or 'completion-category-overrides' to use it. | 494 | to 'completion-styles' or 'completion-category-overrides' to use it. |
| 491 | 495 | ||
| 496 | --- | ||
| 492 | ** The 'completion-common-part' face is now visible by default. | 497 | ** The 'completion-common-part' face is now visible by default. |
| 493 | 498 | ||
| 494 | +++ | 499 | +++ |
| @@ -555,6 +560,7 @@ mode, they are described in the manual "(emacs) Display". | |||
| 555 | ** New user option 'xref-file-name-display' controls the display of | 560 | ** New user option 'xref-file-name-display' controls the display of |
| 556 | file names in xref buffers. | 561 | file names in xref buffers. |
| 557 | 562 | ||
| 563 | --- | ||
| 558 | ** New user option 'byte-count-to-string-function'. | 564 | ** New user option 'byte-count-to-string-function'. |
| 559 | It is used for displaying file sizes and disk space in some cases. | 565 | It is used for displaying file sizes and disk space in some cases. |
| 560 | 566 | ||
| @@ -586,6 +592,7 @@ The HIST argument of 'read-from-minibuffer' now works correctly with | |||
| 586 | buffer-local variables. This means that different buffers can have | 592 | buffer-local variables. This means that different buffers can have |
| 587 | their own separated input history list if desired. | 593 | their own separated input history list if desired. |
| 588 | 594 | ||
| 595 | +++ | ||
| 589 | ** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too. | 596 | ** 'backup-by-copying-when-privileged-mismatch' applies to file gid, too. |
| 590 | In addition to checking the file owner uid, Emacs also checks that the | 597 | In addition to checking the file owner uid, Emacs also checks that the |
| 591 | group gid is not greater than 'backup-by-copying-when-privileged-mismatch'; | 598 | group gid is not greater than 'backup-by-copying-when-privileged-mismatch'; |
| @@ -739,9 +746,11 @@ non-nil. | |||
| 739 | what they're named, and the 'battery-linux-sysfs-regexp' variable has | 746 | what they're named, and the 'battery-linux-sysfs-regexp' variable has |
| 740 | been removed. | 747 | been removed. |
| 741 | 748 | ||
| 749 | --- | ||
| 742 | ** The 'list-processes' command now includes port numbers in the | 750 | ** The 'list-processes' command now includes port numbers in the |
| 743 | network connection information (in addition to the host name). | 751 | network connection information (in addition to the host name). |
| 744 | 752 | ||
| 753 | --- | ||
| 745 | ** The 'cl' package is now officially deprecated in favor of 'cl-lib'. | 754 | ** The 'cl' package is now officially deprecated in favor of 'cl-lib'. |
| 746 | 755 | ||
| 747 | --- | 756 | --- |
| @@ -750,51 +759,55 @@ network connection information (in addition to the host name). | |||
| 750 | *** When called interactively with a prefix arg 'C-u', 'desktop-read' | 759 | *** When called interactively with a prefix arg 'C-u', 'desktop-read' |
| 751 | now prompts the user for the directory containing the desktop file. | 760 | now prompts the user for the directory containing the desktop file. |
| 752 | 761 | ||
| 753 | +++ | ||
| 754 | ** display-line-numbers-mode | 762 | ** display-line-numbers-mode |
| 755 | 763 | ||
| 764 | +++ | ||
| 756 | *** New faces 'line-number-major-tick' and 'line-number-minor-tick', | 765 | *** New faces 'line-number-major-tick' and 'line-number-minor-tick', |
| 757 | and user options 'display-line-numbers-major-tick' and | 766 | and user options 'display-line-numbers-major-tick' and |
| 758 | 'display-line-numbers-minor-tick' can be used to highlight the line | 767 | 'display-line-numbers-minor-tick' can be used to highlight the line |
| 759 | numbers of lines multiple of certain numbers. | 768 | numbers of lines multiple of certain numbers. |
| 760 | 769 | ||
| 770 | +++ | ||
| 761 | *** New variable 'display-line-numbers-offset', when non-zero, adds | 771 | *** New variable 'display-line-numbers-offset', when non-zero, adds |
| 762 | an offset to absolute line numbers. | 772 | an offset to absolute line numbers. |
| 763 | 773 | ||
| 764 | +++ | ||
| 765 | ** winner | 774 | ** winner |
| 766 | 775 | ||
| 776 | +++ | ||
| 767 | *** A new user option, 'winner-boring-buffers-regexp', has been added. | 777 | *** A new user option, 'winner-boring-buffers-regexp', has been added. |
| 768 | 778 | ||
| 769 | ** table | 779 | ** table |
| 770 | 780 | ||
| 771 | *** 'table-generate-source' and friends now support outputting wiki and | 781 | +++ |
| 772 | mediawiki format tables. | 782 | *** 'table-generate-source' now supports wiki and mediawiki |
| 783 | This command can now output wiki and mediawiki format tables. | ||
| 773 | 784 | ||
| 774 | --- | ||
| 775 | ** telnet-mode | 785 | ** telnet-mode |
| 776 | 786 | ||
| 787 | --- | ||
| 777 | *** Reverting a buffer in 'telnet-mode' will restart a closed connection. | 788 | *** Reverting a buffer in 'telnet-mode' will restart a closed connection. |
| 778 | 789 | ||
| 779 | ** goto-addr | 790 | ** goto-addr |
| 780 | 791 | ||
| 792 | --- | ||
| 781 | *** A way to more conveniently specify what URI address schemes should | 793 | *** A way to more conveniently specify what URI address schemes should |
| 782 | be ignored has been added via the 'goto-address-uri-schemes-ignored' | 794 | be ignored has been added via the 'goto-address-uri-schemes-ignored' |
| 783 | variable. | 795 | variable. |
| 784 | 796 | ||
| 785 | +++ | ||
| 786 | ** tex-mode | 797 | ** tex-mode |
| 787 | 798 | ||
| 799 | +++ | ||
| 788 | *** 'latex-noindent-commands' controls indentation of certain commands. | 800 | *** 'latex-noindent-commands' controls indentation of certain commands. |
| 789 | You can use this new user option to control indentation of arguments of | 801 | You can use this new user option to control indentation of arguments of |
| 790 | \emph, \footnote, and similar commands. | 802 | \emph, \footnote, and similar commands. |
| 791 | 803 | ||
| 792 | ** byte compiler | 804 | ** byte compiler |
| 793 | 805 | ||
| 806 | +++ | ||
| 794 | *** 'byte-compile-dynamic' is now obsolete. | 807 | *** 'byte-compile-dynamic' is now obsolete. |
| 795 | This is because on the one hand it suffers from misbehavior in corner | 808 | This is because on the one hand it suffers from misbehavior in corner |
| 796 | cases that have plagued it for years, and on the other experiments indicated | 809 | cases that have plagued it for years, and on the other hand experience |
| 797 | that it doesn't bring any measurable benefit. | 810 | indicates that it doesn't bring any measurable benefit. |
| 798 | 811 | ||
| 799 | --- | 812 | --- |
| 800 | *** The 'g' keystroke in "*Compile-Log*" buffers has been bound to a | 813 | *** The 'g' keystroke in "*Compile-Log*" buffers has been bound to a |
| @@ -832,15 +845,19 @@ its functions. | |||
| 832 | 845 | ||
| 833 | ** doc-view.el | 846 | ** doc-view.el |
| 834 | 847 | ||
| 848 | --- | ||
| 835 | *** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'. | 849 | *** New commands 'doc-view-presentation' and 'doc-view-fit-window-to-page'. |
| 836 | 850 | ||
| 851 | --- | ||
| 837 | *** Added support for password-protected PDF files. | 852 | *** Added support for password-protected PDF files. |
| 838 | 853 | ||
| 854 | --- | ||
| 839 | *** A new user option 'doc-view-pdftotext-program-args' has been added | 855 | *** A new user option 'doc-view-pdftotext-program-args' has been added |
| 840 | to allow controlling how the conversion to text is done. | 856 | to allow controlling how the conversion to text is done. |
| 841 | 857 | ||
| 842 | ** Ido | 858 | ** Ido |
| 843 | 859 | ||
| 860 | --- | ||
| 844 | *** New user option 'ido-big-directories' to mark directories whose | 861 | *** New user option 'ido-big-directories' to mark directories whose |
| 845 | names match certain regular expressions as big. Ido won't attempt to | 862 | names match certain regular expressions as big. Ido won't attempt to |
| 846 | list the contents of such directories when completing file names. | 863 | list the contents of such directories when completing file names. |
| @@ -871,6 +888,7 @@ at the end of the active minibuffer. | |||
| 871 | *** Some commands that previously used 'read-char-choice' now read | 888 | *** Some commands that previously used 'read-char-choice' now read |
| 872 | a character using the minibuffer by 'read-char-from-minibuffer'. | 889 | a character using the minibuffer by 'read-char-from-minibuffer'. |
| 873 | 890 | ||
| 891 | --- | ||
| 874 | ** map.el | 892 | ** map.el |
| 875 | 893 | ||
| 876 | *** Now also understands plists. | 894 | *** Now also understands plists. |
| @@ -882,6 +900,7 @@ a character using the minibuffer by 'read-char-from-minibuffer'. | |||
| 882 | +++ | 900 | +++ |
| 883 | *** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'. | 901 | *** The 'type' arg can be a list '(hash-table :key1 VAL1 :key2 VAL2 ...)'. |
| 884 | 902 | ||
| 903 | --- | ||
| 885 | ** seq.el | 904 | ** seq.el |
| 886 | New convenience functions 'seq-first' and 'seq-rest' give easy access | 905 | New convenience functions 'seq-first' and 'seq-rest' give easy access |
| 887 | to respectively the first and all but the first elements of sequences. | 906 | to respectively the first and all but the first elements of sequences. |
| @@ -941,6 +960,7 @@ functions 'windmove-coord-add', 'windmove-constrain-to-range', | |||
| 941 | 'windmove-constrain-loc-for-movement', 'windmove-wrap-loc-for-movement', | 960 | 'windmove-constrain-loc-for-movement', 'windmove-wrap-loc-for-movement', |
| 942 | 'windmove-reference-loc' and 'windmove-other-window-loc'. | 961 | 'windmove-reference-loc' and 'windmove-other-window-loc'. |
| 943 | 962 | ||
| 963 | --- | ||
| 944 | ** Octave mode | 964 | ** Octave mode |
| 945 | The mode is automatically enabled in files that start with the | 965 | The mode is automatically enabled in files that start with the |
| 946 | 'function' keyword. | 966 | 'function' keyword. |
| @@ -1103,9 +1123,11 @@ for a revision. | |||
| 1103 | *** 'C-u C-x v D' ('vc-root-version-diff') prompts for two revisions | 1123 | *** 'C-u C-x v D' ('vc-root-version-diff') prompts for two revisions |
| 1104 | and compares their entire trees. | 1124 | and compares their entire trees. |
| 1105 | 1125 | ||
| 1126 | --- | ||
| 1106 | *** New user option 'vc-hg-revert-switches'. | 1127 | *** New user option 'vc-hg-revert-switches'. |
| 1107 | It specifies switches to pass to Hg's 'revert' command. | 1128 | It specifies switches to pass to Hg's 'revert' command. |
| 1108 | 1129 | ||
| 1130 | --- | ||
| 1109 | *** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') | 1131 | *** 'C-x v M D' ('vc-diff-mergebase') and 'C-x v M L' ('vc-log-mergebase') |
| 1110 | print diffs and logs between the merge base (common ancestor) of two | 1132 | print diffs and logs between the merge base (common ancestor) of two |
| 1111 | given revisions. | 1133 | given revisions. |
| @@ -1475,9 +1497,9 @@ strings and report all the spelling mistakes. | |||
| 1475 | +++ | 1497 | +++ |
| 1476 | *** New minor mode Fido mode. | 1498 | *** New minor mode Fido mode. |
| 1477 | This mode is based on Icomplete, and its name stands for "Fake Ido". | 1499 | This mode is based on Icomplete, and its name stands for "Fake Ido". |
| 1478 | The point of this mode is to be an 'ido-mode' workalike, but provide | 1500 | The point of this mode is to be an 'ido-mode' workalike, providing |
| 1479 | most of the functionality present in Icomplete that is not in | 1501 | most of the functionality present in 'ido-mode' that is not in |
| 1480 | 'ido-mode', while being much more compatible with all of Emacs's | 1502 | Icomplete, which is much more compatible with all of Emacs's |
| 1481 | completion facilities. | 1503 | completion facilities. |
| 1482 | 1504 | ||
| 1483 | ** Ecomplete | 1505 | ** Ecomplete |
| @@ -1809,7 +1831,6 @@ keyboard macros. | |||
| 1809 | 'isearch-yank-symbol-or-char'. 'isearch-del-char' is now bound to | 1831 | 'isearch-yank-symbol-or-char'. 'isearch-del-char' is now bound to |
| 1810 | 'C-M-d'. | 1832 | 'C-M-d'. |
| 1811 | 1833 | ||
| 1812 | +++ | ||
| 1813 | 'M-s h l' invokes 'highlight-lines-matching-regexp' using the search | 1834 | 'M-s h l' invokes 'highlight-lines-matching-regexp' using the search |
| 1814 | string to highlight lines matching the search string. This is similar | 1835 | string to highlight lines matching the search string. This is similar |
| 1815 | to the existing binding 'M-s h r' ('highlight-regexp') that highlights | 1836 | to the existing binding 'M-s h r' ('highlight-regexp') that highlights |
| @@ -1964,6 +1985,7 @@ This is useful for games where lower scores are better, like time-based games. | |||
| 1964 | *** Completing file names in the minibuffer via 'C-TAB' now uses the | 1985 | *** Completing file names in the minibuffer via 'C-TAB' now uses the |
| 1965 | styles as configured by the user option 'completion-styles'. | 1986 | styles as configured by the user option 'completion-styles'. |
| 1966 | 1987 | ||
| 1988 | +++ | ||
| 1967 | ** New macros 'thunk-let' and 'thunk-let*'. | 1989 | ** New macros 'thunk-let' and 'thunk-let*'. |
| 1968 | These macros are analogue to 'let' and 'let*', but create bindings that | 1990 | These macros are analogue to 'let' and 'let*', but create bindings that |
| 1969 | are evaluated lazily. | 1991 | are evaluated lazily. |
| @@ -2187,8 +2209,9 @@ are formatted as MIME digests. | |||
| 2187 | *** 'message-forward-included-headers' has changed its default to | 2209 | *** 'message-forward-included-headers' has changed its default to |
| 2188 | exclude most headers when forwarding. | 2210 | exclude most headers when forwarding. |
| 2189 | 2211 | ||
| 2212 | --- | ||
| 2190 | *** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender". | 2213 | *** 'mml-secure-openpgp-sign-with-sender' sets also "gpg --sender". |
| 2191 | When 'mml-secure-openpgp-sign-with-sender' is non-nil message sender's | 2214 | When 'mml-secure-openpgp-sign-with-sender' is non-nil, message sender's |
| 2192 | email address (in addition to its old behavior) will also be used to | 2215 | email address (in addition to its old behavior) will also be used to |
| 2193 | set gpg's "--sender email@domain" option. | 2216 | set gpg's "--sender email@domain" option. |
| 2194 | 2217 | ||
| @@ -2640,6 +2663,7 @@ overrides all system and Emacs-provided defaults. To get the old | |||
| 2640 | method back, set 'mailcap-prefer-mailcap-viewers' to nil. | 2663 | method back, set 'mailcap-prefer-mailcap-viewers' to nil. |
| 2641 | 2664 | ||
| 2642 | ** MH-E | 2665 | ** MH-E |
| 2666 | |||
| 2643 | +++ | 2667 | +++ |
| 2644 | *** The hook 'mh-show-mode-hook' is now called before the message is inserted. | 2668 | *** The hook 'mh-show-mode-hook' is now called before the message is inserted. |
| 2645 | Functions that want to affect the message text (for example, to change | 2669 | Functions that want to affect the message text (for example, to change |
| @@ -3084,6 +3108,7 @@ with POSIX.1-2017. | |||
| 3084 | 'decoded-time-weekday', 'decoded-time-dst' and 'decoded-time-zone' | 3108 | 'decoded-time-weekday', 'decoded-time-dst' and 'decoded-time-zone' |
| 3085 | accessors can be used. | 3109 | accessors can be used. |
| 3086 | 3110 | ||
| 3111 | +++ | ||
| 3087 | *** The new functions 'date-days-in-month' (which will say how many | 3112 | *** The new functions 'date-days-in-month' (which will say how many |
| 3088 | days there are in a month in a specific year), 'date-ordinal-to-time' | 3113 | days there are in a month in a specific year), 'date-ordinal-to-time' |
| 3089 | (that computes the date of an ordinal day), 'decoded-time-add' (for | 3114 | (that computes the date of an ordinal day), 'decoded-time-add' (for |
| @@ -3143,6 +3168,7 @@ throughput of reading from sub-processes that produces vast | |||
| 3143 | ** The new user option 'quit-window-hook' is now run first when | 3168 | ** The new user option 'quit-window-hook' is now run first when |
| 3144 | executing the 'quit-window' command. | 3169 | executing the 'quit-window' command. |
| 3145 | 3170 | ||
| 3171 | +++ | ||
| 3146 | ** The user options 'help-enable-completion-auto-load', | 3172 | ** The user options 'help-enable-completion-auto-load', |
| 3147 | 'help-enable-auto-load' and 'vhdl-project-auto-load', as well as the | 3173 | 'help-enable-auto-load' and 'vhdl-project-auto-load', as well as the |
| 3148 | function 'vhdl-auto-load-project' have been renamed to have "autoload" | 3174 | function 'vhdl-auto-load-project' have been renamed to have "autoload" |
| @@ -3623,15 +3649,18 @@ signal 'user-error' if there is no buffer to switch to. | |||
| 3623 | ** Battery status is now supported in all Cygwin builds. | 3649 | ** Battery status is now supported in all Cygwin builds. |
| 3624 | Previously it was supported only in the Cygwin-w32 build. | 3650 | Previously it was supported only in the Cygwin-w32 build. |
| 3625 | 3651 | ||
| 3652 | --- | ||
| 3626 | ** Emacs now handles key combinations involving the macOS "command" | 3653 | ** Emacs now handles key combinations involving the macOS "command" |
| 3627 | and "option" modifier keys more correctly. | 3654 | and "option" modifier keys more correctly. |
| 3628 | 3655 | ||
| 3656 | +++ | ||
| 3629 | ** MacOS modifier key behavior is now more adjustable. | 3657 | ** MacOS modifier key behavior is now more adjustable. |
| 3630 | The behavior of the macOS "Option", "Command", "Control" and | 3658 | The behavior of the macOS "Option", "Command", "Control" and |
| 3631 | "Function" keys can now be specified separately for use with | 3659 | "Function" keys can now be specified separately for use with |
| 3632 | ordinary keys, function keys and mouse clicks. This allows using them | 3660 | ordinary keys, function keys and mouse clicks. This allows using them |
| 3633 | in their standard macOS way for composing characters. | 3661 | in their standard macOS way for composing characters. |
| 3634 | 3662 | ||
| 3663 | +++ | ||
| 3635 | ** The special handling of 'frame-title-format' on NS where setting it | 3664 | ** The special handling of 'frame-title-format' on NS where setting it |
| 3636 | to t would enable the macOS proxy icon has been replaced with a | 3665 | to t would enable the macOS proxy icon has been replaced with a |
| 3637 | separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now | 3666 | separate variable, 'ns-use-proxy-icon'. 'frame-title-format' will now |
| @@ -3682,6 +3711,7 @@ modifier keys in line with Apples guidelines. This makes the drag and | |||
| 3682 | drop behavior more consistent, as previously the sending application | 3711 | drop behavior more consistent, as previously the sending application |
| 3683 | was able to 'set' modifiers without the knowledge of the user. | 3712 | was able to 'set' modifiers without the knowledge of the user. |
| 3684 | 3713 | ||
| 3714 | --- | ||
| 3685 | ** On NS multicolor font display is enabled again since it is also | 3715 | ** On NS multicolor font display is enabled again since it is also |
| 3686 | implemented in Emacs on free operating systems via Cairo drawing. | 3716 | implemented in Emacs on free operating systems via Cairo drawing. |
| 3687 | 3717 | ||
diff --git a/lisp/cedet/pulse.el b/lisp/cedet/pulse.el index 5713a7b0d1f..16243e16b45 100644 --- a/lisp/cedet/pulse.el +++ b/lisp/cedet/pulse.el | |||
| @@ -181,6 +181,7 @@ Optional argument FACE specifies the face to do the highlighting." | |||
| 181 | (overlay-put o 'original-face (overlay-get o 'face)) | 181 | (overlay-put o 'original-face (overlay-get o 'face)) |
| 182 | ;; Make this overlay take priority over the `transient-mark-mode' | 182 | ;; Make this overlay take priority over the `transient-mark-mode' |
| 183 | ;; overlay. | 183 | ;; overlay. |
| 184 | (overlay-put o 'original-priority (overlay-get o 'priority)) | ||
| 184 | (overlay-put o 'priority 1) | 185 | (overlay-put o 'priority 1) |
| 185 | (setq pulse-momentary-overlay o) | 186 | (setq pulse-momentary-overlay o) |
| 186 | (if (eq pulse-flag 'never) | 187 | (if (eq pulse-flag 'never) |
| @@ -214,6 +215,7 @@ Optional argument FACE specifies the face to do the highlighting." | |||
| 214 | (let ((ol pulse-momentary-overlay)) | 215 | (let ((ol pulse-momentary-overlay)) |
| 215 | (overlay-put ol 'face (overlay-get ol 'original-face)) | 216 | (overlay-put ol 'face (overlay-get ol 'original-face)) |
| 216 | (overlay-put ol 'original-face nil) | 217 | (overlay-put ol 'original-face nil) |
| 218 | (overlay-put ol 'priority (overlay-get ol 'original-priority)) | ||
| 217 | ;; Clear the overlay if it needs deleting. | 219 | ;; Clear the overlay if it needs deleting. |
| 218 | (when (overlay-get ol 'pulse-delete) (delete-overlay ol))) | 220 | (when (overlay-get ol 'pulse-delete) (delete-overlay ol))) |
| 219 | 221 | ||
diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index a0b2444346a..aa4b2addd47 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el | |||
| @@ -134,7 +134,7 @@ Each entry is: | |||
| 134 | (if (cdr def) | 134 | (if (cdr def) |
| 135 | (error "Not an `rx' symbol definition: %s" form) | 135 | (error "Not an `rx' symbol definition: %s" form) |
| 136 | (car def))))) | 136 | (car def))))) |
| 137 | ((consp form) | 137 | ((and (consp form) (symbolp (car form))) |
| 138 | (let* ((op (car form)) | 138 | (let* ((op (car form)) |
| 139 | (def (rx--lookup-def op))) | 139 | (def (rx--lookup-def op))) |
| 140 | (and def | 140 | (and def |
| @@ -360,7 +360,7 @@ character X becomes (?X . ?X). Return the intervals in a list." | |||
| 360 | (push (cons start end) intervals)) | 360 | (push (cons start end) intervals)) |
| 361 | (t | 361 | (t |
| 362 | (error "Invalid rx `any' range: %s" | 362 | (error "Invalid rx `any' range: %s" |
| 363 | (substring str i 3)))) | 363 | (substring str i (+ i 3))))) |
| 364 | (setq i (+ i 3)))) | 364 | (setq i (+ i 3)))) |
| 365 | (t | 365 | (t |
| 366 | ;; Single character. | 366 | ;; Single character. |
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el index a46755153e3..81325df3f4f 100644 --- a/lisp/erc/erc.el +++ b/lisp/erc/erc.el | |||
| @@ -75,7 +75,7 @@ | |||
| 75 | (eval-when-compile (require 'subr-x)) | 75 | (eval-when-compile (require 'subr-x)) |
| 76 | 76 | ||
| 77 | (defvar erc-official-location | 77 | (defvar erc-official-location |
| 78 | "https://www.emacswiki.org/emacs/ERC (mailing list: erc-discuss@gnu.org)" | 78 | "https://www.emacswiki.org/emacs/ERC (mailing list: emacs-erc@gnu.org)" |
| 79 | "Location of the ERC client on the Internet.") | 79 | "Location of the ERC client on the Internet.") |
| 80 | 80 | ||
| 81 | (defgroup erc nil | 81 | (defgroup erc nil |
diff --git a/lisp/icomplete.el b/lisp/icomplete.el index a1a67e2330a..66bc731f67f 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el | |||
| @@ -284,6 +284,17 @@ require user confirmation." | |||
| 284 | (t | 284 | (t |
| 285 | (icomplete-force-complete-and-exit))))) | 285 | (icomplete-force-complete-and-exit))))) |
| 286 | 286 | ||
| 287 | (defun icomplete-fido-exit (force) | ||
| 288 | "Attempt to exit minibuffer immediately with current input. | ||
| 289 | Unless FORCE is non-nil (interactively with a prefix argument), | ||
| 290 | honour a non-nil REQUIRE-MATCH argument to `completing-read' by | ||
| 291 | trying to complete as much as possible and disallowing the exit | ||
| 292 | if that doesn't produce a completion match." | ||
| 293 | (interactive "P") | ||
| 294 | (if (and (not force) minibuffer--require-match) | ||
| 295 | (minibuffer-complete-and-exit) | ||
| 296 | (exit-minibuffer))) | ||
| 297 | |||
| 287 | (defun icomplete-fido-backward-updir () | 298 | (defun icomplete-fido-backward-updir () |
| 288 | "Delete char before or go up directory, like `ido-mode'." | 299 | "Delete char before or go up directory, like `ido-mode'." |
| 289 | (interactive) | 300 | (interactive) |
| @@ -299,7 +310,7 @@ require user confirmation." | |||
| 299 | (define-key map (kbd "RET") 'icomplete-fido-ret) | 310 | (define-key map (kbd "RET") 'icomplete-fido-ret) |
| 300 | (define-key map (kbd "C-m") 'icomplete-fido-ret) | 311 | (define-key map (kbd "C-m") 'icomplete-fido-ret) |
| 301 | (define-key map (kbd "DEL") 'icomplete-fido-backward-updir) | 312 | (define-key map (kbd "DEL") 'icomplete-fido-backward-updir) |
| 302 | (define-key map (kbd "M-j") 'exit-minibuffer) | 313 | (define-key map (kbd "M-j") 'icomplete-fido-exit) |
| 303 | (define-key map (kbd "C-s") 'icomplete-forward-completions) | 314 | (define-key map (kbd "C-s") 'icomplete-forward-completions) |
| 304 | (define-key map (kbd "C-r") 'icomplete-backward-completions) | 315 | (define-key map (kbd "C-r") 'icomplete-backward-completions) |
| 305 | (define-key map (kbd "<right>") 'icomplete-forward-completions) | 316 | (define-key map (kbd "<right>") 'icomplete-forward-completions) |
| @@ -541,7 +552,7 @@ See `icomplete-mode' and `minibuffer-setup-hook'." | |||
| 541 | (icomplete--completion-table) | 552 | (icomplete--completion-table) |
| 542 | (icomplete--completion-predicate) | 553 | (icomplete--completion-predicate) |
| 543 | (if (window-minibuffer-p) | 554 | (if (window-minibuffer-p) |
| 544 | (not minibuffer-completion-confirm))))) | 555 | (eq minibuffer--require-match t))))) |
| 545 | (buffer-undo-list t) | 556 | (buffer-undo-list t) |
| 546 | deactivate-mark) | 557 | deactivate-mark) |
| 547 | ;; Do nothing if while-no-input was aborted. | 558 | ;; Do nothing if while-no-input was aborted. |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 49daabc44e3..7f5b597542a 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1400,7 +1400,11 @@ scroll the window of possible completions." | |||
| 1400 | (minibuffer-prompt-end) (point-max) #'exit-minibuffer | 1400 | (minibuffer-prompt-end) (point-max) #'exit-minibuffer |
| 1401 | ;; If the previous completion completed to an element which fails | 1401 | ;; If the previous completion completed to an element which fails |
| 1402 | ;; test-completion, then we shouldn't exit, but that should be rare. | 1402 | ;; test-completion, then we shouldn't exit, but that should be rare. |
| 1403 | (lambda () (minibuffer-message "Incomplete")))) | 1403 | (lambda () |
| 1404 | (if minibuffer--require-match | ||
| 1405 | (minibuffer-message "Incomplete") | ||
| 1406 | ;; If a match is not required, exit after all. | ||
| 1407 | (exit-minibuffer))))) | ||
| 1404 | 1408 | ||
| 1405 | (defun minibuffer-force-complete (&optional start end dont-cycle) | 1409 | (defun minibuffer-force-complete (&optional start end dont-cycle) |
| 1406 | "Complete the minibuffer to an exact match. | 1410 | "Complete the minibuffer to an exact match. |
| @@ -1464,6 +1468,9 @@ DONT-CYCLE tells the function not to setup cycling." | |||
| 1464 | "List of commands which cause an immediately following | 1468 | "List of commands which cause an immediately following |
| 1465 | `minibuffer-complete-and-exit' to ask for extra confirmation.") | 1469 | `minibuffer-complete-and-exit' to ask for extra confirmation.") |
| 1466 | 1470 | ||
| 1471 | (defvar minibuffer--require-match nil | ||
| 1472 | "Value of REQUIRE-MATCH passed to `completing-read'.") | ||
| 1473 | |||
| 1467 | (defun minibuffer-complete-and-exit () | 1474 | (defun minibuffer-complete-and-exit () |
| 1468 | "Exit if the minibuffer contains a valid completion. | 1475 | "Exit if the minibuffer contains a valid completion. |
| 1469 | Otherwise, try to complete the minibuffer contents. If | 1476 | Otherwise, try to complete the minibuffer contents. If |
| @@ -3748,8 +3755,10 @@ See `completing-read' for the meaning of the arguments." | |||
| 3748 | 3755 | ||
| 3749 | (let* ((minibuffer-completion-table collection) | 3756 | (let* ((minibuffer-completion-table collection) |
| 3750 | (minibuffer-completion-predicate predicate) | 3757 | (minibuffer-completion-predicate predicate) |
| 3758 | ;; FIXME: Remove/rename this var, see the next one. | ||
| 3751 | (minibuffer-completion-confirm (unless (eq require-match t) | 3759 | (minibuffer-completion-confirm (unless (eq require-match t) |
| 3752 | require-match)) | 3760 | require-match)) |
| 3761 | (minibuffer--require-match require-match) | ||
| 3753 | (base-keymap (if require-match | 3762 | (base-keymap (if require-match |
| 3754 | minibuffer-local-must-match-map | 3763 | minibuffer-local-must-match-map |
| 3755 | minibuffer-local-completion-map)) | 3764 | minibuffer-local-completion-map)) |
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index a7be57e5a3f..670e763814c 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el | |||
| @@ -1006,32 +1006,36 @@ See `bibtex-generate-autokey' for details." | |||
| 1006 | :type 'boolean) | 1006 | :type 'boolean) |
| 1007 | 1007 | ||
| 1008 | (defvar bibtex-autokey-transcriptions | 1008 | (defvar bibtex-autokey-transcriptions |
| 1009 | '(;; language specific characters | 1009 | (nconc |
| 1010 | ("\\\\aa" . "a") ; \aa -> a | 1010 | (mapcar (lambda (a) (cons (regexp-opt (car a)) (cdr a))) |
| 1011 | ("\\\\AA" . "A") ; \AA -> A | 1011 | '(;; language specific characters |
| 1012 | ("\\\"a\\|\\\\\\\"a\\|\\\\ae" . "ae") ; "a,\"a,\ae -> ae | 1012 | (("\\aa") . "a") ; \aa -> a |
| 1013 | ("\\\"A\\|\\\\\\\"A\\|\\\\AE" . "Ae") ; "A,\"A,\AE -> Ae | 1013 | (("\\AA") . "A") ; \AA -> A |
| 1014 | ("\\\\i" . "i") ; \i -> i | 1014 | (("\"a" "\\\"a" "\\ae") . "ae") ; "a,\"a,\ae -> ae |
| 1015 | ("\\\\j" . "j") ; \j -> j | 1015 | (("\"A" "\\\"A" "\\AE") . "Ae") ; "A,\"A,\AE -> Ae |
| 1016 | ("\\\\l" . "l") ; \l -> l | 1016 | (("\\i") . "i") ; \i -> i |
| 1017 | ("\\\\L" . "L") ; \L -> L | 1017 | (("\\j") . "j") ; \j -> j |
| 1018 | ("\\\"o\\|\\\\\\\"o\\|\\\\o\\|\\\\oe" . "oe") ; "o,\"o,\o,\oe -> oe | 1018 | (("\\l") . "l") ; \l -> l |
| 1019 | ("\\\"O\\|\\\\\\\"O\\|\\\\O\\|\\\\OE" . "Oe") ; "O,\"O,\O,\OE -> Oe | 1019 | (("\\L") . "L") ; \L -> L |
| 1020 | ("\\\"s\\|\\\\\\\"s\\|\\\\3" . "ss") ; "s,\"s,\3 -> ss | 1020 | (("\"o" "\\\"o" "\\o" "\\oe") . "oe") ; "o,\"o,\o,\oe -> oe |
| 1021 | ("\\\"u\\|\\\\\\\"u" . "ue") ; "u,\"u -> ue | 1021 | (("\"O" "\\\"O" "\\O" "\\OE") . "Oe") ; "O,\"O,\O,\OE -> Oe |
| 1022 | ("\\\"U\\|\\\\\\\"U" . "Ue") ; "U,\"U -> Ue | 1022 | (("\"s" "\\\"s" "\\3") . "ss") ; "s,\"s,\3 -> ss |
| 1023 | ;; accents | 1023 | (("\"u" "\\\"u") . "ue") ; "u,\"u -> ue |
| 1024 | ("\\\\`\\|\\\\'\\|\\\\\\^\\|\\\\~\\|\\\\=\\|\\\\\\.\\|\\\\u\\|\\\\v\\|\\\\H\\|\\\\t\\|\\\\c\\|\\\\d\\|\\\\b" . "") | 1024 | (("\"U" "\\\"U") . "Ue") ; "U,\"U -> Ue |
| 1025 | ;; braces, quotes, concatenation. | 1025 | ;; hyphen, accents |
| 1026 | ("[`'\"{}#]" . "") | 1026 | (("\\-" "\\`" "\\'" "\\^" "\\~" "\\=" "\\." "\\u" "\\v" |
| 1027 | ("\\\\-" . "") ; \- -> | 1027 | "\\H" "\\t" "\\c" "\\d" "\\b") . "") |
| 1028 | ;; spaces | 1028 | ;; space |
| 1029 | ("\\\\?[ \t\n]+\\|~" . " ")) | 1029 | (("~") . " "))) |
| 1030 | ;; more spaces | ||
| 1031 | '(("[\s\t\n]*\\(?:\\\\\\)?[\s\t\n]+" . " ") | ||
| 1032 | ;; braces, quotes, concatenation. | ||
| 1033 | ("[`'\"{}#]" . ""))) | ||
| 1030 | "Alist of (OLD-REGEXP . NEW-STRING) pairs. | 1034 | "Alist of (OLD-REGEXP . NEW-STRING) pairs. |
| 1031 | Used by the default values of `bibtex-autokey-name-change-strings' and | 1035 | Used as default values of `bibtex-autokey-name-change-strings' and |
| 1032 | `bibtex-autokey-titleword-change-strings'. Defaults to translating some | 1036 | `bibtex-autokey-titleword-change-strings'. Defaults to translating some |
| 1033 | language specific characters to their ASCII transcriptions, and | 1037 | language specific characters to their ASCII transcriptions, and |
| 1034 | removing any character accents.") | 1038 | removing any accent characters.") |
| 1035 | 1039 | ||
| 1036 | (defcustom bibtex-autokey-name-change-strings | 1040 | (defcustom bibtex-autokey-name-change-strings |
| 1037 | bibtex-autokey-transcriptions | 1041 | bibtex-autokey-transcriptions |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 7f87ee3646d..33f181b80c3 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -2914,16 +2914,17 @@ WHERE is provided the cell and table at that location is reported." | |||
| 2914 | (defun table-generate-source (language &optional dest-buffer caption) | 2914 | (defun table-generate-source (language &optional dest-buffer caption) |
| 2915 | "Generate source of the current table in the specified language. | 2915 | "Generate source of the current table in the specified language. |
| 2916 | LANGUAGE is a symbol that specifies the language to describe the | 2916 | LANGUAGE is a symbol that specifies the language to describe the |
| 2917 | structure of the table. It must be either `html', `latex' or `cals'. | 2917 | structure of the table. It must be either `html', `latex', `cals', |
| 2918 | The resulted source text is inserted into DEST-BUFFER and the buffer | 2918 | `wiki', or `mediawiki'. |
| 2919 | object is returned. When DEST-BUFFER is omitted or nil the default | 2919 | The function inserts the resulting source text into DEST-BUFFER, and |
| 2920 | buffer specified in `table-dest-buffer-name' is used. In this case | 2920 | returns the buffer object. When DEST-BUFFER is omitted or nil, the |
| 2921 | the content of the default buffer is erased prior to the generation. | 2921 | function uses the default buffer specified in `table-dest-buffer-name'. |
| 2922 | When DEST-BUFFER is non-nil it is expected to be either a destination | 2922 | In this case, the function erases the default buffer prior to the |
| 2923 | buffer or a name of the destination buffer. In this case the | 2923 | source generation. |
| 2924 | generated result is inserted at the current point in the destination | 2924 | When DEST-BUFFER is non-nil, it should be either a destination |
| 2925 | buffer and the previously existing contents in the buffer are | 2925 | buffer or a name of the destination buffer. In that case, the |
| 2926 | untouched. | 2926 | function inserts the generated result at point in the destination |
| 2927 | buffer, and leaves the previous contents of the buffer untouched. | ||
| 2927 | 2928 | ||
| 2928 | References used for this implementation: | 2929 | References used for this implementation: |
| 2929 | 2930 | ||
diff --git a/lisp/window.el b/lisp/window.el index bbd4e9b6dfc..5824b1cb845 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -9125,8 +9125,8 @@ accessible position." | |||
| 9125 | ;; wider than its frame's pixel width, its height | 9125 | ;; wider than its frame's pixel width, its height |
| 9126 | ;; remains unaltered. | 9126 | ;; remains unaltered. |
| 9127 | (width (+ (car (window-text-pixel-size | 9127 | (width (+ (car (window-text-pixel-size |
| 9128 | window (window-start) (point-max) | 9128 | window (window-start window) nil |
| 9129 | (frame-pixel-width) | 9129 | (frame-pixel-width (window-frame window)) |
| 9130 | ;; Add one line-height to assure that | 9130 | ;; Add one line-height to assure that |
| 9131 | ;; we're on the safe side. This | 9131 | ;; we're on the safe side. This |
| 9132 | ;; overshoots when the first line below | 9132 | ;; overshoots when the first line below |
diff --git a/src/fontset.c b/src/fontset.c index bca9452418e..c2bb8b21f26 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -367,8 +367,14 @@ fontset_add (Lisp_Object fontset, Lisp_Object range, Lisp_Object elt, Lisp_Objec | |||
| 367 | static int | 367 | static int |
| 368 | fontset_compare_rfontdef (const void *val1, const void *val2) | 368 | fontset_compare_rfontdef (const void *val1, const void *val2) |
| 369 | { | 369 | { |
| 370 | return (RFONT_DEF_SCORE (*(Lisp_Object *) val1) | 370 | Lisp_Object v1 = *(Lisp_Object *) val1, v2 = *(Lisp_Object *) val2; |
| 371 | - RFONT_DEF_SCORE (*(Lisp_Object *) val2)); | 371 | if (NILP (v1) && NILP (v2)) |
| 372 | return 0; | ||
| 373 | else if (NILP (v1)) | ||
| 374 | return INT_MIN; | ||
| 375 | else if (NILP (v2)) | ||
| 376 | return INT_MAX; | ||
| 377 | return (RFONT_DEF_SCORE (v1) - RFONT_DEF_SCORE (v2)); | ||
| 372 | } | 378 | } |
| 373 | 379 | ||
| 374 | /* Update a cons cell which has this form: | 380 | /* Update a cons cell which has this form: |
| @@ -400,6 +406,8 @@ reorder_font_vector (Lisp_Object font_group, struct font *font) | |||
| 400 | for (i = 0; i < size; i++) | 406 | for (i = 0; i < size; i++) |
| 401 | { | 407 | { |
| 402 | Lisp_Object rfont_def = AREF (vec, i); | 408 | Lisp_Object rfont_def = AREF (vec, i); |
| 409 | if (NILP (rfont_def)) | ||
| 410 | continue; | ||
| 403 | Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); | 411 | Lisp_Object font_def = RFONT_DEF_FONT_DEF (rfont_def); |
| 404 | Lisp_Object font_spec = FONT_DEF_SPEC (font_def); | 412 | Lisp_Object font_spec = FONT_DEF_SPEC (font_def); |
| 405 | int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; | 413 | int score = RFONT_DEF_SCORE (rfont_def) & 0xFF; |
diff --git a/src/xdisp.c b/src/xdisp.c index c2aa314c1ad..3c594b54add 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -31441,6 +31441,10 @@ show_mouse_face (Mouse_HLInfo *hlinfo, enum draw_glyphs_face draw) | |||
| 31441 | struct window *w = XWINDOW (hlinfo->mouse_face_window); | 31441 | struct window *w = XWINDOW (hlinfo->mouse_face_window); |
| 31442 | struct frame *f = XFRAME (WINDOW_FRAME (w)); | 31442 | struct frame *f = XFRAME (WINDOW_FRAME (w)); |
| 31443 | 31443 | ||
| 31444 | /* Don't bother doing anything if we are on a wrong frame. */ | ||
| 31445 | if (f != hlinfo->mouse_face_mouse_frame) | ||
| 31446 | return; | ||
| 31447 | |||
| 31444 | if (/* If window is in the process of being destroyed, don't bother | 31448 | if (/* If window is in the process of being destroyed, don't bother |
| 31445 | to do anything. */ | 31449 | to do anything. */ |
| 31446 | w->current_matrix != NULL | 31450 | w->current_matrix != NULL |
diff --git a/test/lisp/emacs-lisp/rx-tests.el b/test/lisp/emacs-lisp/rx-tests.el index 4888e1d9d1e..0fece4004bd 100644 --- a/test/lisp/emacs-lisp/rx-tests.el +++ b/test/lisp/emacs-lisp/rx-tests.el | |||
| @@ -316,7 +316,9 @@ | |||
| 316 | (should (equal (rx (not (or (in "abc") (char "bcd")))) | 316 | (should (equal (rx (not (or (in "abc") (char "bcd")))) |
| 317 | "[^a-d]")) | 317 | "[^a-d]")) |
| 318 | (should (equal (rx (or (not (in "abc")) (not (char "bcd")))) | 318 | (should (equal (rx (or (not (in "abc")) (not (char "bcd")))) |
| 319 | "[^bc]"))) | 319 | "[^bc]")) |
| 320 | (should (equal (rx (or "x" (? "yz"))) | ||
| 321 | "x\\|\\(?:yz\\)?"))) | ||
| 320 | 322 | ||
| 321 | (ert-deftest rx-def-in-charset-or () | 323 | (ert-deftest rx-def-in-charset-or () |
| 322 | (rx-let ((a (any "badc")) | 324 | (rx-let ((a (any "badc")) |