bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#18597: 25.0.50; Assertion violation in reseat_1


From: Eli Zaretskii
Subject: bug#18597: 25.0.50; Assertion violation in reseat_1
Date: Wed, 01 Oct 2014 20:03:29 +0300

> Date: Wed, 01 Oct 2014 18:54:16 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: 18597@debbugs.gnu.org
> 
> (gdb) frame 8
> #8  0x0102231f in pos_visible_p (w=0x5af05e8, charpos=2658812, x=0x82e2cc, 
> y=0x82e2c8, rtop=0x82e2c4, rbot=0x82e2c0, rowh=0x82e2bc, vpos=0x82e2b8) at 
> xdisp.c:1437
> 1437    start_display (&it, w, top);
> (gdb) p w->start
> $11 = {
>    i = 24813235
> }

Then I must be missing something, since this code in pos_visible_p:

  SET_TEXT_POS_FROM_MARKER (top, w->start);
  /* Scrolling a minibuffer window via scroll bar when the echo area
     shows long text sometimes resets the minibuffer contents behind
     our backs.  */
  if (CHARPOS (top) > ZV)
    SET_TEXT_POS (top, BEGV, BEGV_BYTE);

  /* Compute exact mode line heights.  */
  if (WINDOW_WANTS_MODELINE_P (w))
    w->mode_line_height
      = display_mode_line (w, CURRENT_MODE_LINE_FACE_ID (w),
                           BVAR (current_buffer, mode_line_format));

  if (WINDOW_WANTS_HEADER_LINE_P (w))
    w->header_line_height
      = display_mode_line (w, HEADER_LINE_FACE_ID,
                           BVAR (current_buffer, header_line_format));

  start_display (&it, w, top);

uses w->start for the position in 'top', with which it calls
start_display.  And if somehow, the condition

  if (CHARPOS (top) > ZV)
    SET_TEXT_POS (top, BEGV, BEGV_BYTE);

fired, then still 'top' should be at BEGV.  What am I missing here?





reply via email to

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