[Top][All Lists]
[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
- [XASSERT] xdisp.c/check_window_end(),
David Abrahams <=