comparison doc/lispref/display.texi @ 92150:1c088baa9d2d

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.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 24 Feb 2008 13:36:39 +0000
parents 36cc1038d878
children 8a79cbd87921
comparison
equal deleted inserted replaced
92149:e8b93cb7392a 92150:1c088baa9d2d
4362 This works by removing all image with image specifications matching 4362 This works by removing all image with image specifications matching
4363 @var{spec} from the image cache. Thus, the next time the image is 4363 @var{spec} from the image cache. Thus, the next time the image is
4364 displayed, Emacs will load the image again. 4364 displayed, Emacs will load the image again.
4365 @end defun 4365 @end defun
4366 4366
4367 @defun clear-image-cache &optional frame 4367 @defun clear-image-cache &optional filter
4368 This function clears the entire image cache. If @var{frame} is 4368 This function clears the image cache. If @var{filter} is
4369 non-@code{nil}, only the cache for that frame is cleared. Otherwise, 4369 a frame, only the cache for that frame is cleared. If omitted or
4370 all frames' caches are cleared. 4370 @code{nil}, clear the images on the selected frame. If @code{t},
4371 all frames' caches are cleared. Otherwise, @var{filter} is taken as
4372 a file name and only images that reference this file will be flushed.
4371 @end defun 4373 @end defun
4372 4374
4373 If an image in the image cache has not been displayed for a specified 4375 If an image in the image cache has not been displayed for a specified
4374 period of time, Emacs removes it from the cache and frees the 4376 period of time, Emacs removes it from the cache and frees the
4375 associated memory. 4377 associated memory.