[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "... the window start at a meaningless point within a line."
From: |
Eli Zaretskii |
Subject: |
Re: "... the window start at a meaningless point within a line." |
Date: |
Thu, 01 Oct 2015 13:16:03 +0300 |
> Date: Thu, 1 Oct 2015 09:41:38 +0000
> Cc: address@hidden
> From: Alan Mackenzie <address@hidden>
>
> > > In the Elisp manual, page "Window Start and End", it's described how, if
> > > in (set-window-start x) x is a position not at the start of a line, the
> > > display engine will, instead of x, choose some value near x as the
> > > window start. Is this really necessary?
>
> > The reason for this is that we want the physical beginning of the line
> > (i.e. the character after a newline or at bob) always be aligned at
> > the left edge of the window's text area, even if it is currently out
> > of view. This prevents annoying horizontal scrolling of long lines
> > when the beginning of the line comes into view.
>
> OK. But we're really talking here about where continuation lines start,
> not physical BOLs.
The display engine always starts from the physical BOL when it lays
out buffer text. That's because only at a physical BOL it knows that
the window-relative X coordinate is zero. Otherwise, there's no
anchor for it to start at.
Invalidating this basic assumption will cause strange effects,
including the horizontal scrolling I mentioned.
> > But let me turn the table and ask you: how difficult would it be to
> > make sure follow-mode never lets a window end in the middle of a
> > continued line?
>
> In the worst case, very difficult. Indeed, with three follow windows,
> all of slightly different widths, and a fiendish specially constructed
> file, it could be that when you scroll the buffer a single screen line to
> deal with a break between W1 and W2, you create the same problem between
> W2 and W3. In such a scenario, you might end up scrolling the buffer
> quite a long way in the search for no "broken" continued lines at either
> boundary. With such a file there might be NO position where there isn't
> a break.
Are you talking about lines so long that they take more than one
window-full to display? If so, let's not bother about those for the
moment. Do you see such problem with reasonably short lines?
> In real life? I imagine it's quite common to use Follow Mode with very
> narrow windows (say, four at ~60 wide) when the annoyance of continued
> lines is less important than seeing all of a long function on the screen
> at once. There will then be lots of continued lines, and 3 window
> boundaries, W1-W2, W2-W3, W3-W4.
I don't expect "lots", except in text buffers. Program sources
usually have shorter lines. In any case, it would be rare to see
lines that take more than 2 screen lines.
> If we were to go this route (of repositioning to avoid line breaks
> between follow windows), there would have to be a limit on how far one
> could scroll, with a value such as 3.
In what units? Screen lines? Why only 3?
- "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/08
- Re: "... the window start at a meaningless point within a line.", Eli Zaretskii, 2015/10/08
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/08
- Re: "... the window start at a meaningless point within a line.",
Eli Zaretskii <=
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/08
- Re: "... the window start at a meaningless point within a line.", Eli Zaretskii, 2015/10/08
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/08
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/15
- Re: "... the window start at a meaningless point within a line.", Eli Zaretskii, 2015/10/15
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/16
- Re: "... the window start at a meaningless point within a line.", Eli Zaretskii, 2015/10/16
- Re: "... the window start at a meaningless point within a line.", Alan Mackenzie, 2015/10/16
- Re: "... the window start at a meaningless point within a line.", Eli Zaretskii, 2015/10/16
- Re: "... the window start at a meaningless point within a line.", David Kastrup, 2015/10/16