diff options
| author | Glenn Morris | 2020-11-07 09:57:56 -0800 |
|---|---|---|
| committer | Glenn Morris | 2020-11-07 09:57:56 -0800 |
| commit | 6b63b6669d51331381063781dd28bb02a26d3d04 (patch) | |
| tree | 6d921da91179a5a462681d03e91d7453cf2430a5 /src | |
| parent | 35d9881809b4e27d1ae0fe1c7329df8e0968f5f8 (diff) | |
| parent | 53933cdf5c8df479897b3c60d8c259d9d9dbc0f2 (diff) | |
| download | emacs-6b63b6669d51331381063781dd28bb02a26d3d04.tar.gz emacs-6b63b6669d51331381063781dd28bb02a26d3d04.zip | |
Merge from origin/emacs-27
53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc...
e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456)
89740e9cb5 Prevent redisplay from moving point behind user's back
5932df7435 Document that the :match function for a widget takes an ex...
1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348)
# Conflicts:
# lisp/international/mule.el
Diffstat (limited to 'src')
| -rw-r--r-- | src/bidi.c | 12 | ||||
| -rw-r--r-- | src/w32fns.c | 27 |
2 files changed, 27 insertions, 12 deletions
diff --git a/src/bidi.c b/src/bidi.c index 225b27b18cd..ef062addd16 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -1460,6 +1460,11 @@ bidi_at_paragraph_end (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 1460 | else | 1460 | else |
| 1461 | start_re = paragraph_start_re; | 1461 | start_re = paragraph_start_re; |
| 1462 | 1462 | ||
| 1463 | /* Prevent quitting inside re_match_2, as redisplay_window could | ||
| 1464 | have temporarily moved point. */ | ||
| 1465 | ptrdiff_t count = SPECPDL_INDEX (); | ||
| 1466 | specbind (Qinhibit_quit, Qt); | ||
| 1467 | |||
| 1463 | val = fast_looking_at (sep_re, charpos, bytepos, ZV, ZV_BYTE, Qnil); | 1468 | val = fast_looking_at (sep_re, charpos, bytepos, ZV, ZV_BYTE, Qnil); |
| 1464 | if (val < 0) | 1469 | if (val < 0) |
| 1465 | { | 1470 | { |
| @@ -1469,6 +1474,7 @@ bidi_at_paragraph_end (ptrdiff_t charpos, ptrdiff_t bytepos) | |||
| 1469 | val = -2; | 1474 | val = -2; |
| 1470 | } | 1475 | } |
| 1471 | 1476 | ||
| 1477 | unbind_to (count, Qnil); | ||
| 1472 | return val; | 1478 | return val; |
| 1473 | } | 1479 | } |
| 1474 | 1480 | ||
| @@ -1544,6 +1550,11 @@ bidi_find_paragraph_start (ptrdiff_t pos, ptrdiff_t pos_byte) | |||
| 1544 | if (cache_buffer->base_buffer) | 1550 | if (cache_buffer->base_buffer) |
| 1545 | cache_buffer = cache_buffer->base_buffer; | 1551 | cache_buffer = cache_buffer->base_buffer; |
| 1546 | 1552 | ||
| 1553 | /* Prevent quitting inside re_match_2, as redisplay_window could | ||
| 1554 | have temporarily moved point. */ | ||
| 1555 | ptrdiff_t count = SPECPDL_INDEX (); | ||
| 1556 | specbind (Qinhibit_quit, Qt); | ||
| 1557 | |||
| 1547 | while (pos_byte > BEGV_BYTE | 1558 | while (pos_byte > BEGV_BYTE |
| 1548 | && n++ < MAX_PARAGRAPH_SEARCH | 1559 | && n++ < MAX_PARAGRAPH_SEARCH |
| 1549 | && fast_looking_at (re, pos, pos_byte, limit, limit_byte, Qnil) < 0) | 1560 | && fast_looking_at (re, pos, pos_byte, limit, limit_byte, Qnil) < 0) |
| @@ -1561,6 +1572,7 @@ bidi_find_paragraph_start (ptrdiff_t pos, ptrdiff_t pos_byte) | |||
| 1561 | else | 1572 | else |
| 1562 | pos = find_newline_no_quit (pos, pos_byte, -1, &pos_byte); | 1573 | pos = find_newline_no_quit (pos, pos_byte, -1, &pos_byte); |
| 1563 | } | 1574 | } |
| 1575 | unbind_to (count, Qnil); | ||
| 1564 | if (n >= MAX_PARAGRAPH_SEARCH) | 1576 | if (n >= MAX_PARAGRAPH_SEARCH) |
| 1565 | pos = BEGV, pos_byte = BEGV_BYTE; | 1577 | pos = BEGV, pos_byte = BEGV_BYTE; |
| 1566 | if (bpc) | 1578 | if (bpc) |
diff --git a/src/w32fns.c b/src/w32fns.c index ef69f40611e..7bb96891d05 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -8498,8 +8498,8 @@ DEFUN ("w32-register-hot-key", Fw32_register_hot_key, | |||
| 8498 | doc: /* Register KEY as a hot-key combination. | 8498 | doc: /* Register KEY as a hot-key combination. |
| 8499 | Certain key combinations like Alt-Tab and Win-R are reserved for | 8499 | Certain key combinations like Alt-Tab and Win-R are reserved for |
| 8500 | system use on Windows, and therefore are normally intercepted by the | 8500 | system use on Windows, and therefore are normally intercepted by the |
| 8501 | system. These key combinations can be received by registering them | 8501 | system. These key combinations can be used in Emacs by registering |
| 8502 | as hot-keys, except for Win-L which always locks the computer. | 8502 | them as hot-keys, except for Win-L which always locks the computer. |
| 8503 | 8503 | ||
| 8504 | On Windows 98 and ME, KEY must be a one element key definition in | 8504 | On Windows 98 and ME, KEY must be a one element key definition in |
| 8505 | vector form that would be acceptable to `define-key' (e.g. [A-tab] for | 8505 | vector form that would be acceptable to `define-key' (e.g. [A-tab] for |
| @@ -8508,16 +8508,19 @@ Alt-Tab). The meta modifier is interpreted as Alt if | |||
| 8508 | modifier keys. The return value is the hotkey-id if registered, | 8508 | modifier keys. The return value is the hotkey-id if registered, |
| 8509 | otherwise nil. | 8509 | otherwise nil. |
| 8510 | 8510 | ||
| 8511 | On Windows versions since NT, KEY can also be specified as [M-], [s-] or | 8511 | On Windows versions since NT, KEY can also be specified as just a |
| 8512 | [h-] to indicate that all combinations of that key should be processed | 8512 | modifier key, [M-], [s-] or [H-], to indicate that all combinations |
| 8513 | by Emacs instead of the operating system. The super and hyper | 8513 | of the respective modifier key should be processed by Emacs instead |
| 8514 | modifiers are interpreted according to the current values of | 8514 | of the operating system. The super and hyper modifiers are |
| 8515 | `w32-lwindow-modifier' and `w32-rwindow-modifier'. For instance, | 8515 | interpreted according to the current values of `w32-lwindow-modifier' |
| 8516 | setting `w32-lwindow-modifier' to `super' and then calling | 8516 | and `w32-rwindow-modifier'. For instance, setting `w32-lwindow-modifier' |
| 8517 | `(w32-register-hot-key [s-])' grabs all combinations of the left Windows | 8517 | to `super' and then calling `(w32-register-hot-key [s-])' grabs all |
| 8518 | key to Emacs, but leaves the right Windows key free for the operating | 8518 | combinations of the left Windows key to Emacs as keys with the Super |
| 8519 | system keyboard shortcuts. The return value is t if the call affected | 8519 | modifier, but leaves the right Windows key free for the operating |
| 8520 | any key combinations, otherwise nil. */) | 8520 | system keyboard shortcuts. |
| 8521 | |||
| 8522 | The return value is t if the call affected any key combinations, | ||
| 8523 | otherwise nil. */) | ||
| 8521 | (Lisp_Object key) | 8524 | (Lisp_Object key) |
| 8522 | { | 8525 | { |
| 8523 | key = w32_parse_and_hook_hot_key (key, 1); | 8526 | key = w32_parse_and_hook_hot_key (key, 1); |