Subject: bug#67533: SVG images confound position pixel measurements

From: Eli Zaretskii <[email-masked]>
Date: Sun, 03 Dec 2023 17:52:12 +0200

> From: JD Smith <[email-masked]>
> Date: Sun, 3 Dec 2023 10:48:20 -0500
> Cc: [email-masked]
> 
> > The cumulative patch below should fix all the problems you threw on me
> > till now.
> 
> Most excellent, thank you for the sleuthing Eli!  Your roll-up patch applies cleanly and fixes all the pixel size related issues in my large complex org-with-latex-preview file.  I can induce the same behavior in my original svg-generating code by bumping the default width up to:
> 
>       (w (+ 142 (* 2 (round (expt (1+ r) 1.25)))))
> 
> and it solves it there too. (I’ve updated the gist to do this, and included the final function below, for posterity).

Thanks, I will install the changes (on master) soon.

> Now, because every good novel has a denouement, there’s... one more thing.    When I was running my/check-buffer-pixel-values in my large latex-preview-laden org file with your new patch, everything was going swimmingly.  No reported problems at all at a variety of frame widths.  But, then, at a single magic frame width (81 chars, but I think this is arbitrary), a bunch of `expected 28 got 14’ errors showed up on one particular line.
> 
> A new flavor of under-reported pixel size?  No!  In fact, all the characters on the reported line were yielding the correct size above themselves.  Instead, around this line, (vertical-motion) as well as previous/next line is *skipping a screen line*, confusing my test!  I have sometimes seen this while using up/down arrow to navigate such image-rich files, when an image is wrapped to column zero.  E.g. instead of moving directly up, point jumps to the end of the line above.
> 
> Given that the size problems are fixed, I think I should try to isolate this motion problem and submit it as a separate bug.  So far it has eluded a simple reproduction.  I’ve included a short movie of the effect in a gist comment[1] to spurs some thoughts.

Yes, a separate bug would be good.

In general, vertical-motion can go awry when there are too many
images, so I'll withdraw judgment until I see the issue.