summaryrefslogtreecommitdiff
path: root/src/fringe.c
diff options
context:
space:
mode:
authorYuuki Harano <masm+github@masm11.me>2021-11-11 00:39:53 +0900
committerYuuki Harano <masm+github@masm11.me>2021-11-11 00:39:53 +0900
commit4dd1f56f29fc598a8339a345c2f8945250600602 (patch)
treeaf341efedffe027e533b1bcc0dbf270532e48285 /src/fringe.c
parent4c49ec7f865bdad1629d2f125f71f4e506b258f2 (diff)
parent810fa21d26453f898de9747ece7205dfe6de9d08 (diff)
downloademacs-4dd1f56f29fc598a8339a345c2f8945250600602.tar.gz
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs into feature/pgtk
Diffstat (limited to 'src/fringe.c')
-rw-r--r--src/fringe.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/fringe.c b/src/fringe.c
index e67ea9d88fd..f22d0956982 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -971,6 +971,14 @@ update_window_fringes (struct window *w, bool keep_current_p)
if (w->pseudo_window_p)
return 0;
+ ptrdiff_t count = SPECPDL_INDEX ();
+
+ /* This function could be called for redisplaying non-selected
+ windows, in which case point has been temporarily moved to that
+ window's window-point. So we cannot afford quitting out of here,
+ as point is restored after this function returns. */
+ specbind (Qinhibit_quit, Qt);
+
if (!MINI_WINDOW_P (w)
&& (ind = BVAR (XBUFFER (w->contents), indicate_buffer_boundaries), !NILP (ind)))
{
@@ -1333,6 +1341,8 @@ update_window_fringes (struct window *w, bool keep_current_p)
row->fringe_bitmap_periodic_p = periodic_p;
}
+ unbind_to (count, Qnil);
+
return redraw_p && !keep_current_p;
}