[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-27 41232e6: Avoid crashes due to bidi cache being reset during red
From: |
Eli Zaretskii |
Subject: |
emacs-27 41232e6: Avoid crashes due to bidi cache being reset during redisplay |
Date: |
Sun, 31 May 2020 10:26:46 -0400 (EDT) |
branch: emacs-27
commit 41232e679732fcd37fc56edda90035d6f98b591f
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>
Avoid crashes due to bidi cache being reset during redisplay
If automatic character composition triggers GC, and
'garbage-collection-messages' are turned on, we could have the
bidi cache reset while processing RTL text, which would then
consistently crash.
* src/xdisp.c (display_echo_area_1): Protect the bidi cache
against changes inside 'try_window'.
---
src/xdisp.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/xdisp.c b/src/xdisp.c
index bff6218..60848f4 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11539,7 +11539,9 @@ display_echo_area_1 (ptrdiff_t a1, Lisp_Object a2)
/* Display. */
clear_glyph_matrix (w->desired_matrix);
XSETWINDOW (window, w);
+ void *itdata = bidi_shelve_cache ();
try_window (window, start, 0);
+ bidi_unshelve_cache (itdata, false);
return window_height_changed_p;
}
- emacs-27 41232e6: Avoid crashes due to bidi cache being reset during redisplay,
Eli Zaretskii <=