• Stefan Monnier's avatar
    Consolidate the image_cache to the terminal struct. · 354884c4
    Stefan Monnier authored
    * termhooks.h (P_): Remove redundant def.
    (struct terminal): New field `image_cache'.
    * frame.h (FRAME_IMAGE_CACHE): New macro.  Use it everywhere in place
    of FRAME_X_IMAGE_CACHE.
    * xterm.h (struct x_display_info): Remove image_cache field.
    (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
    * w32term.h (struct w32_display_info): Remove image_cache field.
    (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
    * macterm.h (struct mac_display_info): Remove image_cache field.
    (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
    * xterm.c (x_term_init):
    * w32term.c (w32_term_init):
    * macterm.c (mac_term_init): Set the image_cache in the terminal.
    * dispextern.h (clear_image_cache, forall_images_in_image_cache):
    Remove declarations.
    (clear_image_caches, mark_image_cache): New declarations.
    * xfaces.c (clear_face_cache):
    * xdisp.c (redisplay_internal): Use clear_image_caches.
    * image.c (clear_image_cache): Don't check that a frame is on
    a window-system before checking if it shares the same cache.
    (clear_image_caches): New function.
    (Fclear_image_cache): Use it.
    (mark_image): Move from allo.c.
    (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
    * alloc.c (mark_image, mark_image_cache): Move to image.c.
    (mark_object): Don't call mark_image_cache for frames.
    (mark_terminals): Call mark_image_cache.
    354884c4
xdisp.c 723 KB