emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: display problem after renaming open image files]


From: Chong Yidong
Subject: Re: address@hidden: display problem after renaming open image files]
Date: Thu, 05 Apr 2007 19:55:13 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.97 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     Another possibility would be to allow one or several of
>     a) a buffer
>     b) an overlay (use the covered text)
>     c) a cons of two markers
>     d) t (use the data covered by the overlay itself)
>     as an argument to the :data parameter of an image property.  Then we
>     would not need to copy material back and forth.  One would need to
>     think about what could happen when the material references by :data
>     changes.
>
> I think that is a fine solution, and should be easy to implement.

Whatever makes you think that it's easy to implement?  On the
contrary, this will involve deep surgery in image.c.

There are a large number of functions in image.c that assume the image
specification is either a filename or a string.  Each of the image
types has at least one function that queries a `struct image' for
either QCdata or QCfile, and handles these two cases appropriately.
Adding a `buffer overlay' option will involve changing each and every
one of these functions to handle this new case.  These changes are not
trivial either, because the functions for different image types access
the image structs in different ways, depending on the requirements of
the external image library.

For all practical purposes, the current behavior is fine.  After all,
image-mode (currently) functions as an image viewer, not an image
editor.  So if you move the underlying image file, no one will be
surprised that you can't view the image anymore!  Plenty of image
viewing programs have this behavior (see gqview for example.)

Seriously, let's postphone this till after the release.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]