diff options
| author | Eli Zaretskii | 2021-08-18 16:14:29 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2021-08-18 16:14:29 +0300 |
| commit | ee812f2a987d295659c041c577aac8db93de819f (patch) | |
| tree | 9667cf885d98d73a980b3261693d4c0f582eab0a /src | |
| parent | bf4f7388b6d0373d239b0aeedcc1a77549371320 (diff) | |
| download | emacs-ee812f2a987d295659c041c577aac8db93de819f.tar.gz emacs-ee812f2a987d295659c041c577aac8db93de819f.zip | |
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)
Diffstat (limited to 'src')
| -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, | |||
| 5788 | #ifdef HAVE_WINDOW_SYSTEM | 5788 | #ifdef HAVE_WINDOW_SYSTEM |
| 5789 | else | 5789 | else |
| 5790 | { | 5790 | { |
| 5791 | ptrdiff_t count = SPECPDL_INDEX (); | ||
| 5792 | |||
| 5791 | it->what = IT_IMAGE; | 5793 | it->what = IT_IMAGE; |
| 5794 | /* Don't allow quitting from lookup_image, for when we are | ||
| 5795 | displaying a non-selected window, and the buffer's point | ||
| 5796 | was temporarily moved to the window-point. */ | ||
| 5797 | specbind (Qinhibit_quit, Qt); | ||
| 5792 | it->image_id = lookup_image (it->f, value, it->face_id); | 5798 | it->image_id = lookup_image (it->f, value, it->face_id); |
| 5799 | unbind_to (count, Qnil); | ||
| 5793 | it->position = start_pos; | 5800 | it->position = start_pos; |
| 5794 | it->object = NILP (object) ? it->w->contents : object; | 5801 | it->object = NILP (object) ? it->w->contents : object; |
| 5795 | it->method = GET_FROM_IMAGE; | 5802 | it->method = GET_FROM_IMAGE; |