aboutsummaryrefslogtreecommitdiffstats
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorStefan Monnier2008-02-24 13:36:39 +0000
committerStefan Monnier2008-02-24 13:36:39 +0000
commita2bc5bdd7db3f708b7489d91919336e775c3e6ca (patch)
treeca7e9efac023071ffcbeb514ab66fc4c0d76a8b9 /src/dispextern.h
parent01dcf28448dab12ad7160942323144836467dd65 (diff)
downloademacs-a2bc5bdd7db3f708b7489d91919336e775c3e6ca.tar.gz
emacs-a2bc5bdd7db3f708b7489d91919336e775c3e6ca.zip
Allow fine-grained image-cache flushing.
* dispextern.h (struct image): Add `dependencies' field. (clear_image_caches): Change arg to Lisp_Object. * image.c (make_image): Initialize `dependencies' field. (clear_image_cache): Change arg to allow fine-grained flushing. Perform the flush even if image-cache-eviction-delay is nil. (clear_image_caches): Change arg to Lisp_Object. (Fclear_image_cache): Expand meaning of the argument. (mark_image): Mark `dependencies' field. * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches. (lface_hash): Use XHASH rather than XFASTINT. (face_at_buffer_position): Fix int -> EMACS_INT position. * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position. (select_frame_for_redisplay): Remove code duplication. (redisplay_internal): Adapt arg to call to clear_image_caches.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 9e0e160c5bb..ea5a077d7b2 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -2487,6 +2487,11 @@ struct image
2487 /* Lisp specification of this image. */ 2487 /* Lisp specification of this image. */
2488 Lisp_Object spec; 2488 Lisp_Object spec;
2489 2489
2490 /* List of "references" followed to build the image.
2491 Typically will just contain the name of the image file.
2492 Used to allow fine-grained cache flushing. */
2493 Lisp_Object dependencies;
2494
2490 /* Relief to draw around the image. */ 2495 /* Relief to draw around the image. */
2491 int relief; 2496 int relief;
2492 2497
@@ -2818,7 +2823,7 @@ extern Lisp_Object x_find_image_file P_ ((Lisp_Object));
2818void x_kill_gs_process P_ ((Pixmap, struct frame *)); 2823void x_kill_gs_process P_ ((Pixmap, struct frame *));
2819struct image_cache *make_image_cache P_ ((void)); 2824struct image_cache *make_image_cache P_ ((void));
2820void free_image_cache P_ ((struct frame *)); 2825void free_image_cache P_ ((struct frame *));
2821void clear_image_caches P_ ((int)); 2826void clear_image_caches P_ ((Lisp_Object));
2822void mark_image_cache P_ ((struct image_cache *)); 2827void mark_image_cache P_ ((struct image_cache *));
2823int valid_image_p P_ ((Lisp_Object)); 2828int valid_image_p P_ ((Lisp_Object));
2824void prepare_image_for_display P_ ((struct frame *, struct image *)); 2829void prepare_image_for_display P_ ((struct frame *, struct image *));