emacs-devel
[Top][All Lists]
Advanced

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

[XASSERT] xdisp.c/check_window_end()


From: David Abrahams
Subject: [XASSERT] xdisp.c/check_window_end()
Date: Thu, 21 Aug 2003 09:01:00 -0400
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3.50 (windows-nt)

The title function just asserted for me, because row->enabled_p is
true:

  static void
  check_window_end (w)
       struct window *w;
  {
    if (!MINI_WINDOW_P (w)
        && !NILP (w->window_end_valid))
      {
        struct glyph_row *row;
        xassert ((row = MATRIX_ROW (w->current_matrix,
                    XFASTINT (w->window_end_vpos)),
          !row->enabled_p /***************** HERE *****************/
          || MATRIX_ROW_DISPLAYS_TEXT_P (row)
          || MATRIX_ROW_VPOS (row, w->current_matrix) == 0));
      }
  }

I'm not sure what this means or how to fix it.  Can anyone shed light?
My stack backtrace looks like:

        ntdll.dll!77f75a58()    
        emacs.exe!w32_abort()  Line 14621 + 0x8 C
>       emacs.exe!check_window_end()  Line 1904 + 0x6e  C
        emacs.exe!redisplay_window(int window=0x415d6000, int 
just_this_one_p=0x00000000)  Line 11422 + 0x9     C
        emacs.exe!redisplay_window_0(int window=0x415d6000)  Line 10455 + 0xb   
C
        emacs.exe!internal_condition_case_1(int (void)* bfun=0x0107fdf0, int 
arg=0x415d6000, int handlers=0x513ba134, int (void)* hfun=0x0107fdc0)  Line 
1374 + 0x9     C
        emacs.exe!redisplay_windows(int window=0x415d6000)  Line 10436 + 0x19   
C
        emacs.exe!redisplay_windows(int window=0x415d6200)  Line 10428 + 0xc    
C
        emacs.exe!redisplay_internal(int preserve_echo_area=0x00000000)  Line 
10023 + 0xf       C
        emacs.exe!redisplay()  Line 9450 + 0x7  C
        emacs.exe!read_char(int commandflag=0x00000001, int nmaps=0x00000002, 
int * maps=0x0082f8f0, int prev_event=0x11377c04, int * 
used_mouse_menu=0x0082fab0)  Line 2497    C
        emacs.exe!read_key_sequence(int * keybuf=0x0082fc44, int 
bufsize=0x0000001e, int prompt=0x11377c04, int dont_downcase_last=0x00000000, 
int can_return_switch_frame=0x00000001, int fix_current_buffer=0x00000001)  
Line 8827 + 0x2a     C
        emacs.exe!command_loop_1()  Line 1505 + 0x1b    C
        emacs.exe!internal_condition_case(int (void)* bfun=0x01017690, int 
handlers=0x1139ce44, int (void)* hfun=0x01017160)  Line 1333 + 0x5   C
        emacs.exe!command_loop_2()  Line 1292 + 0x15    C
        emacs.exe!internal_catch(int tag=0x11392404, int (void)* 
func=0x010174e0, int arg=0x11377c04)  Line 1094 + 0x9  C
        emacs.exe!command_loop()  Line 1271 + 0x17      C
        emacs.exe!recursive_edit_1()  Line 987 + 0x5    C
        emacs.exe!Frecursive_edit()  Line 1044  C
        emacs.exe!main()  Line 1668     C
        emacs.exe!mainCRTStartup()  Line 259 + 0x12     C
        emacs.exe!_start()  Line 131    C
        kernel32.dll!77e814c7()         

And my locals, w and row, are:

-       row     0x01dd54fc {glyphs=0x01dd54fc used=0x01dd550c x=0x00000000 ...} 
glyph_row *
  +     glyphs  0x01dd54fc      glyph * [4]
  +     used    0x01dd550c      short [3]
      x 0x00000000      int
      y 0x00000084      int
      pixel_width       0x00000007      int
      ascent    0x00000009      int
      height    0x0000000c      int
      phys_ascent       0x00000009      int
      phys_height       0x0000000c      int
      visible_height    0x0000000c      int
      hash      0x00000020      unsigned int
  +     start   {pos={charpos=0x0000020f bytepos=0x0000020f } 
overlay_string_index=0xffffffff string_pos={charpos=0xffffffff 
bytepos=0xffffffff } ...}  display_pos
  +     end     {pos={charpos=0x0000020f bytepos=0x0000020f } 
overlay_string_index=0xffffffff string_pos={charpos=0xffffffff 
bytepos=0xffffffff } ...}  display_pos
      enabled_p 0x00000001      unsigned int
      truncated_on_left_p       0x00000000      unsigned int
      truncated_on_right_p      0x00000000      unsigned int
      overlay_arrow_p   0x00000000      unsigned int
      continued_p       0x00000000      unsigned int
      displays_text_p   0x00000000      unsigned int
      ends_at_zv_p      0x00000001      unsigned int
      fill_line_p       0x00000000      unsigned int
      indicate_empty_line_p     0x00000000      unsigned int
      contains_overlapping_glyphs_p     0x00000000      unsigned int
      full_width_p      0x00000000      unsigned int
      mode_line_p       0x00000000      unsigned int
      overlapped_p      0x00000000      unsigned int
      ends_in_middle_of_char_p  0x00000000      unsigned int
      starts_in_middle_of_char_p        0x00000000      unsigned int
      overlapping_p     0x00000000      unsigned int
      mouse_face_p      0x00000000      unsigned int
      ends_in_newline_from_string_p     0x00000000      unsigned int
      continuation_lines_width  0x00000000      int
-       w       0x015d6000 {size=0x20001048 vec_next=0x015d6200 
{size=0x20001048 next=0x01649000 {size=0x20001048 next=0x01649e00 
{size=0x20001048 next=0x0189b600 contents=0x01649e08 } contents=0x01649008 } 
contents=0x015d6208 } frame=0x415d6c00 ...}      window *
      size      0x20001048      int
  +     vec_next        0x015d6200 {size=0x20001048 next=0x01649000 
{size=0x20001048 next=0x01649e00 {size=0x20001048 next=0x0189b600 
{size=0x20000806 next=0x01632cc0 contents=0x0189b608 } contents=0x01649e08 } 
contents=0x01649008 } contents=0x015d6208 }  Lisp_Vector *
      frame     0x415d6c00      int
      mini_p    0x11377c04      int
      next      0x11377c04      int
      prev      0x415d6a00      int
      hchild    0x11377c04      int
      vchild    0x11377c04      int
      parent    0x415d6200      int
      left_col  0x00000000      int
      top_line  0x0000002f      int
      total_lines       0x00000030      int
      total_cols        0x000000e4      int
      buffer    0x413d4e00      int
      start     0x21907cf4      int
      pointm    0x21907d08      int
      force_start       0x11377c04      int
      optional_new_start        0x11377c04      int
      hscroll   0x00000000      int
      min_hscroll       0x00000000      int
      use_time  0x00000060      int
      sequence_number   0x0000000a      int
      temslot   0x00000002      int
      last_modified     0x0000010d      int
      last_overlay_modified     0x0000003c      int
      last_point        0x00000245      int
      last_had_star     0x11377c34      int
      vertical_scroll_bar       0x416326c0      int
      left_margin_cols  0x11377c04      int
      right_margin_cols 0x11377c04      int
      left_fringe_width 0x11377c04      int
      right_fringe_width        0x11377c04      int
      fringes_outside_margins   0x11377c04      int
      scroll_bar_width  0x11377c04      int
      vertical_scroll_bar_type  0x11377c34      int
      last_mark_x       0x11377c04      int
      last_mark_y       0x11377c04      int
      window_end_pos    0x00000000      int
      window_end_vpos   0x0000000b      int
      window_end_valid  0x413d4e00      int
      update_mode_line  0x11377c04      int
      start_at_line_beg 0x11377c34      int
      display_table     0x11377c04      int
      dedicated 0x11377c04      int
      base_line_number  0x00000001      int
      base_line_pos     0x00000001      int
      region_showing    0x11377c04      int
      column_number_displayed   0x11377c04      int
      redisplay_end_trigger     0x11377c04      int
      too_small_ok      0x11377c04      int
      orig_total_lines  0x11377c04      int
      orig_top_line     0x11377c04      int
  +     current_matrix  0x0190a400 {pool=0x00000000 {glyphs=??? nglyphs=??? 
nrows=??? ...} rows=0x01dd5000 {glyphs=0x01dd5000 used=0x01dd5010 x=0x00000000 
...} rows_allocated=0x00000064 ...}  glyph_matrix *
  +     desired_matrix  0x01907000 {pool=0x00000000 {glyphs=??? nglyphs=??? 
nrows=??? ...} rows=0x01ca6000 {glyphs=0x01ca6000 used=0x01ca6010 x=0x00000000 
...} rows_allocated=0x00000064 ...}  glyph_matrix *
  +     last_cursor     {x=0x00000000 y=0x00000090 hpos=0x00000000 ...} 
cursor_pos
  +     cursor  {x=0x00000000 y=0x00000090 hpos=0x00000000 ...} cursor_pos
  +     phys_cursor     {x=0x00000000 y=0x00000078 hpos=0x00000000 ...} 
cursor_pos
      phys_cursor_type  0x00000000      int
      phys_cursor_width 0x00000007      int
      phys_cursor_ascent        0x00000009      int
      phys_cursor_height        0x0000000c      int
      phys_cursor_on_p  0x00000001      unsigned int
      cursor_off_p      0x00000000      unsigned int
      last_cursor_off_p 0x00000000      unsigned int
      must_be_updated_p 0x00000000      unsigned int
      pseudo_window_p   0x00000000      unsigned int
      vscroll   0x00000000      int
      window_end_bytepos        0x00000000      int
      frozen_window_start_p     0x00000000      unsigned int
      height_fixed_p    0x00000000      unsigned int

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com





reply via email to

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