* [XASSERT] xdisp.c/check_window_end()
@ 2003-08-21 13:01 David Abrahams
2003-08-22 2:26 ` David Abrahams
0 siblings, 1 reply; 2+ messages in thread
From: David Abrahams @ 2003-08-21 13:01 UTC (permalink / raw)
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [XASSERT] xdisp.c/check_window_end()
2003-08-21 13:01 [XASSERT] xdisp.c/check_window_end() David Abrahams
@ 2003-08-22 2:26 ` David Abrahams
0 siblings, 0 replies; 2+ messages in thread
From: David Abrahams @ 2003-08-22 2:26 UTC (permalink / raw)
David Abrahams <dave@boost-consulting.com> writes:
> 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?
I can reproduce this fairly reliably by:
* starting up a fresh emacs
* M-x grep-find
* do some search that produces a few results
* C-x o [switch to the grep results window]
* M-x grep-find
* M-p <return> [execute the previous grep-find command]
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-08-22 2:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-21 13:01 [XASSERT] xdisp.c/check_window_end() David Abrahams
2003-08-22 2:26 ` David Abrahams
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.