Subject: bug#59727: Problems with displaying long lines

From: Eli Zaretskii <[email-masked]>
Date: Wed, 30 Nov 2022 19:55:36 +0200

> From: Juri Linkov <[email-masked]>
> Date: Wed, 30 Nov 2022 19:46:37 +0200
> 
> [A new bug report from bug#56682]
> 
> >> 1. after 'M-g TAB' (move-to-column) to 214748364 or more,
> >>    the display is not updated anymore: moving point to the left
> >>    from this position shows the cursor, moving point to the right
> >>    has no visible effect.  Is it a hard limit in the display engine?
> >>    Its hex value is #xccccccc.
> >
> > Sounds like a possible bug.  Does point move?  What does "C-x =" say about
> > point if you move beyond column 214748364?
> 
> Point moves correctly:

OK, then the new shortcuts in Emacs 29 for moving by columns in very long
and truncated lines do work reasonably.

> but the cursor motion is not visible.
> 
> > If you window is auto-hscrolled as result, then there is indeed hard limit:
> > the X coordinate of a screen line is an 'int', so MAX_INT divided by the
> > pixel-width of your default font is as far as we can go.
> 
> Maybe this limitation of auto-hscrolling should be documented?

We could document them, indeed.  But where? maybe in PROBLEMS?

> >> 2. after starting Isearch at a large column number,
> >>    Emacs hangs up indefinitely, e.g. with
> >>    'M-g TAB 10000000 RET C-s' then even C-g doesn't get out.
> >>    Debugging shows that the problem is in 'isearch-update'
> >>    where the call to 'pos-visible-in-window-group-p' doesn't return.
> >>    When this call is removed, the search is instantaneous.
> >>    (Optimizing lazy-highlight is a separate problem in bug#56815.)
> >
> > I thought we agreed that calling pos-visible-in-window-p is not a good idea
> > in this situation, since it will always think any position is visible?
> 
> Does pos-visible-in-window-p fail only on long lines?

Not long, truncated ones.  It doesn't understand that positions that are to
the left or to the right of the viewport are not "visible".