diff options
author | Eli Zaretskii <eliz@gnu.org> | 2021-08-18 16:14:29 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-08-18 16:14:29 +0300 |
commit | ee812f2a987d295659c041c577aac8db93de819f (patch) | |
tree | 9667cf885d98d73a980b3261693d4c0f582eab0a | |
parent | bf4f7388b6d0373d239b0aeedcc1a77549371320 (diff) | |
download | emacs-ee812f2a987d295659c041c577aac8db93de819f.tar.gz |
Yet another place inside redisplay_window to prevent quitting
* src/xdisp.c (handle_single_display_spec): Inhibit quitting
around the call to lookup_image. (Bug#44448)
-rw-r--r-- | src/xdisp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index ceb0fa7e64d..ada9ed6c22b 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5788,8 +5788,15 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object, #ifdef HAVE_WINDOW_SYSTEM else { + ptrdiff_t count = SPECPDL_INDEX (); + it->what = IT_IMAGE; + /* Don't allow quitting from lookup_image, for when we are + displaying a non-selected window, and the buffer's point + was temporarily moved to the window-point. */ + specbind (Qinhibit_quit, Qt); it->image_id = lookup_image (it->f, value, it->face_id); + unbind_to (count, Qnil); it->position = start_pos; it->object = NILP (object) ? it->w->contents : object; it->method = GET_FROM_IMAGE; |