aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris2020-11-07 09:57:56 -0800
committerGlenn Morris2020-11-07 09:57:56 -0800
commit6b63b6669d51331381063781dd28bb02a26d3d04 (patch)
tree6d921da91179a5a462681d03e91d7453cf2430a5 /src
parent35d9881809b4e27d1ae0fe1c7329df8e0968f5f8 (diff)
parent53933cdf5c8df479897b3c60d8c259d9d9dbc0f2 (diff)
downloademacs-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.c12
-rw-r--r--src/w32fns.c27
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.
8499Certain key combinations like Alt-Tab and Win-R are reserved for 8499Certain key combinations like Alt-Tab and Win-R are reserved for
8500system use on Windows, and therefore are normally intercepted by the 8500system use on Windows, and therefore are normally intercepted by the
8501system. These key combinations can be received by registering them 8501system. These key combinations can be used in Emacs by registering
8502as hot-keys, except for Win-L which always locks the computer. 8502them as hot-keys, except for Win-L which always locks the computer.
8503 8503
8504On Windows 98 and ME, KEY must be a one element key definition in 8504On Windows 98 and ME, KEY must be a one element key definition in
8505vector form that would be acceptable to `define-key' (e.g. [A-tab] for 8505vector 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
8508modifier keys. The return value is the hotkey-id if registered, 8508modifier keys. The return value is the hotkey-id if registered,
8509otherwise nil. 8509otherwise nil.
8510 8510
8511On Windows versions since NT, KEY can also be specified as [M-], [s-] or 8511On 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 8512modifier key, [M-], [s-] or [H-], to indicate that all combinations
8513by Emacs instead of the operating system. The super and hyper 8513of the respective modifier key should be processed by Emacs instead
8514modifiers are interpreted according to the current values of 8514of the operating system. The super and hyper modifiers are
8515`w32-lwindow-modifier' and `w32-rwindow-modifier'. For instance, 8515interpreted according to the current values of `w32-lwindow-modifier'
8516setting `w32-lwindow-modifier' to `super' and then calling 8516and `w32-rwindow-modifier'. For instance, setting `w32-lwindow-modifier'
8517`(w32-register-hot-key [s-])' grabs all combinations of the left Windows 8517to `super' and then calling `(w32-register-hot-key [s-])' grabs all
8518key to Emacs, but leaves the right Windows key free for the operating 8518combinations of the left Windows key to Emacs as keys with the Super
8519system keyboard shortcuts. The return value is t if the call affected 8519modifier, but leaves the right Windows key free for the operating
8520any key combinations, otherwise nil. */) 8520system keyboard shortcuts.
8521
8522The return value is t if the call affected any key combinations,
8523otherwise 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);