]> git.eshelyaron.com Git - emacs.git/commit
Fix unwarranted point movement after C-g
authorEli Zaretskii <eliz@gnu.org>
Sun, 15 Aug 2021 11:11:23 +0000 (14:11 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 15 Aug 2021 11:11:23 +0000 (14:11 +0300)
commitfdf148cab4c0b74028b34dd4d3a2cd9e4efa8c19
tree43b3415cedb5cde3495d74456e61b5e4c9eaf8d1
parente2eb58c4874bc8dedb7f3da9f9e0626ccfe74cdf
Fix unwarranted point movement after C-g

When the same buffer is displayed in more than one window,
redisplay temporarily moves point to the window-point when it
works on non-selected windows.  If we allow C-g to quit out of
redisplay_window in this situation, point will appear to have
moved to the window-point of that non-selected window, which is
unwarranted.  These changes prevent quitting in strategic places,
so that we never quit out of redisplay_window.
* src/xdisp.c (run_window_scroll_functions):
Prevent quitting while running window-scroll-functions, so that we
don't quit out of redisplay_window with temporarily moved point.
(redisplay_window): While redisplaying the mode line, prevent
quitting, to avoid exiting while point is temporarily moved.
(decode_mode_spec): Use safe_call1 instead of call1, to trap any
errors instead of letting them throw out of redisplay.  (Bug#44448)
src/xdisp.c