emacs-devel
[Top][All Lists]
Advanced

[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: Sun, 01 Nov 2015 05:40:15 +0200

> Date: Sat, 31 Oct 2015 21:17:40 +0000
> Cc: address@hidden
> From: Alan Mackenzie <address@hidden>
> 
> pixel-wise resizing isn't a good idea on ttys.

It isn't supposed to be needed there.

> > +     eassert (WINDOW_LIVE_P (prev_window));
> > +     reseat_at_window_start (&it);
> > +     it.current_x = it.hpos = it.vpos = 0;
> > +     move_it_to (&it, goal_pt, -1, -1, -1, MOVE_TO_POS);
> > +     nlines_prev_window = nlines + it.vpos + 1;
> > +     pw = XWINDOW (prev_window);
> > +     SET_TEXT_POS_FROM_MARKER (pw_top, pw->start);   
> > <=================================
> > +     start_display (&it, pw, pw_top);
> > +     move_it_to (&it, -1, -1, it.last_visible_y - 1, -1, MOVE_TO_Y);
> > +     move_it_by_lines (&it, nlines_prev_window);
> > +     /* Pretend the original move worked as intended.  */
> > +     it.vpos = vpos;
> > +   }
> > +
> >        /* Move to the goal column, if one was specified.  If the window
> >      was originally hscrolled, the goal column is interpreted as
> >      an addition to the hscroll amount.  */
> 
> , and it happened because prev_window is 0.  Presumably the left hand
> window on the first frame has no previous.  I can't see how the
> WINDOW_LIVE_P check failed to catch this.

It is imperative to understand why that test missed, maybe you didn't
compile with --enable-checking?

Anyway, if this can legitimately happen, i.e. if the exact_start flag
can be set in the left-side window of the two windows under Follow
mode, then the WINDOW_LIVE_P test should be in an 'if' test, and the
following code should be skipped if the test fails.



reply via email to

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