aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
authorEli Zaretskii2015-09-26 09:50:58 +0300
committerEli Zaretskii2015-09-26 09:50:58 +0300
commite573d08ef15f0431ad8289b4242c49826f20efb6 (patch)
tree323f37b911569c654747df2047f236ad5d316587 /src/coding.c
parent3fbc53b09c21d5657c62a4a295b5b70a6ea5d661 (diff)
downloademacs-e573d08ef15f0431ad8289b4242c49826f20efb6.tar.gz
emacs-e573d08ef15f0431ad8289b4242c49826f20efb6.zip
Make face realization be more frame-specific
* src/frame.h (struct f): New flag face_change. * src/xfaces.c (Finternal_make_lisp_face) (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute) (update_face_from_frame_parameter): Set the face_change flag only for the frame whose faces are affected. * src/xdisp.c (init_iterator): If a frame's face_change flag is set, free faces only on that frame. (redisplay_internal): Disable "display optimization 1" if the frame's face_change flag is set. (redisplay_window): Don't allow skipping a window's redisplay if its frame's face_change flag is set. * src/frame.c (x_set_screen_gamma): Instead of calling Fclear_face_cache, call clear_face_cache and set windows_or_buffers_changed to a non-zero value. This avoids setting the global face_change flag that triggers face realization on all frames and thorough redisplay of all of them. * lisp/term/tty-colors.el (tty-register-default-colors): Don't clear face cache if the selected frame is a GUI frame.
Diffstat (limited to 'src/coding.c')
0 files changed, 0 insertions, 0 deletions