Subject: bug#13887: 24.3; doc-view will render blurry images when image-magick is available

From: Tassilo Horn <[email-masked]>
Date: Mon, 11 Mar 2013 10:11:28 +0100

E Sabof <[email-masked]> writes:

> A relevant point might be that I usually start doc-view from
> "dired-find-file"

No, that seems unrelated.

>>> [Image seems to be moved only when zooming with my centering patch.]
>>
>> Strange, I can't reproduce that here.  Do you have a recipe?
>
> Can't really give you a recipe - re-sizing just seems very fragile. A
> possible source might be this: running M-: (overlays-at 1) usually
> returns 2 overlays. This is also true for the stable version.

Hm, indeed.  I can reproduce that with emacs -Q.  Sometimes I have 2
overlays, sometimes even three.  Right now, using emacs-bzr-version
"[email-masked]",

  $ emacs -Q some.pdf

will show some.pdf, and (overlays-at 1) returns 2 overlays.  Also, when
switching pages, the mode-line indicator is updated but I still see the
old page.  It won't refresh at all.  Ditto for zooming or anything that
would change the display.

Aha, now I know how to reproduce that (also with the emacs with my
customizations and the centering patch).  Somehow,
`doc-view-new-window-function' is run way too often (I've commented in
the (message ...) in its first line to see).  When opening some
document, it's run twice.  When the document is shown, M-x <TAB> will
also run it again.  Ditto for M-: (i<TAB.  Ditto for C-x C-f.

That way, I've managed to have 9 overlays all from 1 to point-max in my
current doc-view buffer.  And now I get the same effects with zooming
(and my centering patch): it seems the image is just moved.  The problem
is in fact that the :align-to changes for centering the image are
visible to you, while the image update is not.  In that situation,
changing the page won't do anything visible for you, too, except for
updating the page number in the mode-line.

Stefan, could you please have a look at this?  You're more proficient
when it comes to the windows/overlays/image-mode stuff.

Bye,
Tassilo