[Top][All Lists]

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

Re: Image scroll issue

From: Kim F. Storm
Subject: Re: Image scroll issue
Date: Thu, 11 Jan 2007 10:16:20 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.92 (gnu/linux)

Chris Moore <address@hidden> writes:

> Richard Stallman <address@hidden> writes:
>> Thanks.
> While looking into this problem, I discovered that some in-line images
> can't be scrolled even after the emacs-w3m fix.
> I don't know whether to report it or not because it's already known
> that image support in Emacs is pretty flaky, but, just in case this
> isn't known, I will:
> 1. create an image, 500 pixels tall in /tmp/image.jpg
> 2. make a new fundamental-mode buffer
> 3. insert a few lines of text, leave point at the end and evaluate
>   (insert-image-file "/tmp/image.jpg")
> 4. go to the end of the buffer with M->
> 5. repeat steps 3 and 4 a few times
> 6. go to the start of the buffer with M-<
> 7. resize the frame so that it's less than 500 pixels tall (ie. so that
>    the image doesn't fit in the window)
> 8. scroll down repeatedly with C-v
> The first copy of the image will scroll properly, but scrolling gets
> stuck on the 2nd copy.  the 2nd copy will scroll to the bottom and
> then jump back to the top.  Hitting C-v very quickly (or holding it
> down) will eventually get past the 2nd copy, only to get stuck on the
> 3rd or 4th copy.

The problem is that image scrolling relies on Emacs being able to
tell what the window current looks like (i.e. is there an image at
the bottom of the window which is - or can be - partially scrolled.

Unfortunately, to make things run fast, we have to rely on Emacs'
internal "window copy" to be up-to-date, but at the same time,
some of the primitives - eg. force-window-update - clears this
internal window copy - and so Emacs cannot make a correct decision
as to how to scroll the image - and may end up resetting the vscroll
and thus show the start of the image again.

Kim F. Storm <address@hidden> http://www.cua.dk

reply via email to

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