all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Robert J. Chassell" <bob@rattlesnake.com>
To: emacs-devel@gnu.org
Subject: Re: Emacs crashes, 07nov16
Date: Sat, 24 Nov 2007 14:08:11 +0000 (UTC)	[thread overview]
Message-ID: <m1Ivvg3-002K4JC@rattlesnake.com> (raw)
In-Reply-To: <4747ECDF.50303@swipnet.se> (message from Jan Djärv on Sat, 24 Nov 2007 10:20:31 +0100)

As I now expect, GNU Emacs crashes when I try to insert a Euro sign.
Here are two debugging sessions, with misc-fixed-medium 20 point
fonts, one ISO8859 and the other ISO10646, both with

    bt full
    p *s
    p *s->font
    p *s->font_info
    p s->char2b[0]
    l x_draw_glyph_string_foreground


Of a previous effort, jan.h.d@swipnet.se wrote

    This does not look like -O0.  You should not have any <value
    optimized out> in such a build.

Hmm ... I compiled in Emacs with
 (compile "time CFLAGS='-g -O0 -Wno-pointer-sign' make bootstrap"))
but maybe that was wrong.  (Should I have put the CFLAGS expression
after the `make'?)  

In this case, after changing -O2 to -O0 in three makefiles, I
evaluated:

 (compile "time make bootstrap")

Today's GNU Emacs CVS snapshot, Sat, 2007 Nov 24  11:43 UTC
GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger 


First, 

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 20'

with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

As expected, this instance of Emacs did not crash until I visited my
test file, ~/foo.mail, which tried to insert a Euro sign.  Then:

(gdb) bt full
#0  x_draw_glyph_string_foreground (s=0xbfdb9c20) at xterm.c:1374
	char1b = 0xbfdb9c00 " \254"
	boff = 0
	i = 0
	x = 30
#1  0x080f5e1e in x_draw_glyph_string (s=0xbfdb9c20) at xterm.c:2731
	relief_drawn_p = 0
#2  0x08095ad1 in draw_glyphs (w=0x8678658, x=50, row=0x869e6bc, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	head = (struct glyph_string *) 0xbfdb9c20
	tail = (struct glyph_string *) 0xbfdb9b70
	s = (struct glyph_string *) 0xbfdb9c20
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 830
	area_width = 800
	x_reached = 50
	i = 2
	j = -1215156040
	f = (struct frame *) 0x86784d0
#3  0x0809a1c0 in x_write_glyphs (start=0x86c3e58, len=2) at xdisp.c:21149
	x = 160
	hpos = 0
#4  0x0805a8c7 in update_text_area (w=0x8678658, vpos=9) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86bdbb4
	desired_row = (struct glyph_row *) 0x869e6bc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#5  0x0805b099 in update_window_line (w=0x8678658, vpos=9, mouse_face_overwritten_p=0xbfdba0b0) at dispnew.c:4678
	current_row = (struct glyph_row *) 0x86bdbb4
	desired_row = (struct glyph_row *) 0x869e6bc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#6  0x0805a532 in update_window (w=0x8678658, force_p=0) at dispnew.c:4302
	vpos = 9
	i = 0
	end = (struct glyph_row *) 0x869fb8c
	mode_line_row = (struct glyph_row *) 0x869fb8c
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x869e6bc
	yb = 840
	n_updated = 0
	desired_matrix = (struct glyph_matrix *) 0x867c1a0
	paused_p = 0
	rif = (struct redisplay_interface *) 0x8231000
#7  0x08059c1b in update_window_tree (w=0x8678658, force_p=0) at dispnew.c:3995
	paused_p = 0
#8  0x08059a40 in update_frame (f=0x86784d0, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	paused_p = 0
	root_window = (struct window *) 0x8678658
#9  0x0807fff9 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11455
	f = (struct frame *) 0x86784d0
	tail = 140053117
	frame = 141001940
	w = (struct window *) 0x8678658
	f = (struct frame *) 0x86784d0
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 1, 
  bytepos = 1
}
	tlendpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	count = 2
	count1 = 4
	sf = (struct frame *) 0x86784d0
	polling_stopped_here = 1
	old_frame = 141001940
	consider_all_windows_p = 1
#10 0x0807e22f in redisplay () at xdisp.c:10629
No locals.
#11 0x08134fd5 in read_char (commandflag=1, nmaps=2, maps=0xbfdbac70, prev_event=138033353, used_mouse_menu=0xbfdbade8, end_time=0x0) at keyboard.c:2748
	c = 138033353
	count = 0
	jmpcount = 0
	local_getcjmp = {{
    __jmpbuf = {138068729, 1, 1698, 0, 138351048, -1076122840}, 
    __mask_was_saved = 136372559, 
    __saved_mask = {
      __val = {138335949, 138068729, 3218844712, 135961291, 11336, 138068729, 143433244, 4294967295, 4294967295, 4294967295, 4294967295, 0 <repeats 21 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {1698, 1416, 0, 1418, 138351048, 11}, 
    __mask_was_saved = 138351048, 
    __saved_mask = {
      __val = {138033353, 3218844344, 1, 0, 1416, 3218844344, 136361940, 138195985, 143433244, 3218844376, 136369000, 138351048, 1417, 138351048, 136361734, 138351048, 138033353, 1, 1417, 0, 138033353, 3218844408, 136361940, 138068729, 138033353, 138033353, 138033353, 138033353, 138220737, 3218844440, 136361734, 138335949}
    }
  }}
	key_already_recorded = 0
	tem = 0
	save = 0
	previous_echo_area_message = 138033353
	also_record = 138033353
	reread = 0
	gcpro1 = {
  next = 0x82090ce, 
  var = 0x83f11c8, 
  nvars = 1417
}
	gcpro2 = {
  next = 0x88c9e1c, 
  var = 0x1, 
  nvars = -1076122968
}
	polling_stopped_here = 0
	orig_kboard = (struct kboard *) 0x8658560
#12 0x0813f7a3 in read_key_sequence (keybuf=0xbfdbafc4, bufsize=30, prompt=138033353, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x8658560
	interrupted_frame = (struct frame *) 0x86784d0
	key = -1076121960
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 138033353
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfdbac50
	submaps = (Lisp_Object * volatile) 0xbfdbac70
	orig_local_map = 140050125
	orig_keymap = 138033353
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139600725, 
  map = 139600725, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 138025829, 
  map = 138025829, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139600733, 
  map = 139600733, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 138033353
	original_uppercase = 141038360
	original_uppercase_position = -1
	dummyflag = 0
	starting_buffer = (struct buffer *) 0x88c9e18
	fake_prefixed_keys = 138033353
	gcpro1 = {
  next = 0x8681318, 
  var = 0x83c35b2, 
  nvars = 138033353
}
#13 0x08132660 in command_loop_1 () at keyboard.c:1684
	cmd = 138384849
	lose = 32
	nonundocount = 0
	keybuf = {192, 48, -1217265840, -1208483852, -1076121568, -1221392172, -1076121516, -1208562464, 0, 0, 0, 0, -1208499652, -1076121568, -1076121292, -1472036457, 49, -1219986356, -1219991344, 134541582, -1472036458, 134541584, 134541586, 0, 0, 1, 994, -1221392088, 0, -1076121524}
	i = 2
	no_direct = 0
	prev_modiff = 27
	prev_buffer = (struct buffer *) 0x83ab540
	already_adjusted = 0
#14 0x081b761a in internal_condition_case (bfun=0x813230e <command_loop_1>, handlers=138090753, hfun=0x8131cec <cmd_error>) at eval.c:1493
	val = 138278685
	c = {
  tag = 138033353, 
  val = 138033353, 
  next = 0xbfdbb1b0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218674700, -1208484640, 0, -1076121224, -1553915775, 585850862}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3218845684, 3086404832, 0, 3076292596, 140324248, 140346216, 3086467644, 3218845632, 3218845908, 276967387, 49, 3074980940, 3074979964, 134542368, 276967386, 3086287772, 134542372, 3218846320, 3086482656, 0, 3074996844, 3076308992, 3218846320, 110932256, 3086483444, 134522752, 3086485096, 3218846080, 3086422499, 3086485536, 3073575208, 1}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 138090753, 
  var = 138033353, 
  chosen_clause = 140327419, 
  tag = 0xbfdbb0ac, 
  next = 0x0
}
#15 0x08132067 in command_loop_2 () at keyboard.c:1396
	val = 20
#16 0x081b70d6 in internal_catch (tag=138082313, func=0x8132044 <command_loop_2>, arg=138033353) at eval.c:1229
	c = {
  tag = 138082313, 
  val = 138033353, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218674700, -1208484640, 0, -1076120968, -1553776511, 585207790}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {134921805, 104, 13, 0, 1, 2, 0, 3076297072, 0, 177, 22, 0, 0, 0, 0, 0, 3078563137, 140331568, 3076297072, 3218846328, 135929634, 138218001, 138219378, 138033353, 138065216, 140347928, 140348104, 3076297024, 138033353, 138033353, 138219378, 138219378}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#17 0x0813201d in command_loop () at keyboard.c:1375
No locals.
#18 0x081318f9 in recursive_edit_1 () at keyboard.c:984
	count = 1
	val = -1076113695
#19 0x08131a67 in Frecursive_edit () at keyboard.c:1046
	count = 0
	buffer = 138033353
#20 0x08130339 in main (argc=15, argv=0xbfdbb724) at emacs.c:1777
	dummy = -1217265840
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) p *s
$1 = {
  x = 30, 
  y = 180, 
  ybase = 196, 
  width = 10, 
  background_width = 10, 
  height = 20, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x86784d0, 
  w = 0x8678658, 
  display = 0x862fb00, 
  window = 37748953, 
  row = 0x869e6bc, 
  area = TEXT_AREA, 
  char2b = 0xbfdb9c00, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x881fa68, 
  font = 0x881d0d8, 
  font_info = 0x8679fa8, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x88c7f88, 
  first_glyph = 0x86c3e58, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbfdb9b70, 
  prev = 0x0
}
(gdb) p *s->font
$2 = {
  ext_data = 0x83f92d0, 
  fid = 37749766, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x88e0828, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 10, 
    ascent = -3, 
    descent = -15, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 9, 
    rbearing = 10, 
    width = 10, 
    ascent = 16, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6d7a000, 
  ascent = 16, 
  descent = 4
}
(gdb) p *s->font_info
$3 = {
  font = 0x881d0d8, 
  font_idx = 1, 
  name = 0x88cdf88 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1", 
  full_name = 0x89041c0 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1", 
  charset = 244, 
  size = 10, 
  height = 20, 
  space_width = 10, 
  average_width = 10, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x842c4f0
}
(gdb) p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) l x_draw_glyph_string_foreground
1313	/* Draw the foreground of glyph string S.  */
1314	
1315	static void
1316	x_draw_glyph_string_foreground (s)
1317	     struct glyph_string *s;
1318	{
1319	  int i, x;
1320	
1321	  /* If first glyph of S has a left box line, start drawing the text
1322	     of S to the right of that box line.  */
(gdb) 



Second, instance of Emacs with iso10646:

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 20'

with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

This instance of Emacs did not crash until I visited my
test file; then it did. 

(gdb) bt full
#0  x_draw_glyph_string_foreground (s=0xbfc2a290) at xterm.c:1374
	char1b = 0xbfc2a270 " \254"
	boff = 0
	i = 0
	x = 30
#1  0x080f5e1e in x_draw_glyph_string (s=0xbfc2a290) at xterm.c:2731
	relief_drawn_p = 0
#2  0x08095ad1 in draw_glyphs (w=0x8678580, x=50, row=0x869d8cc, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	head = (struct glyph_string *) 0xbfc2a290
	tail = (struct glyph_string *) 0xbfc2a1e0
	s = (struct glyph_string *) 0xbfc2a290
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 830
	area_width = 800
	x_reached = 50
	i = 2
	j = -1214725960
	f = (struct frame *) 0x86783f8
#3  0x0809a1c0 in x_write_glyphs (start=0x867c420, len=2) at xdisp.c:21149
	x = 160
	hpos = 0
#4  0x0805a8c7 in update_text_area (w=0x8678580, vpos=9) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86bcdc4
	desired_row = (struct glyph_row *) 0x869d8cc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#5  0x0805b099 in update_window_line (w=0x8678580, vpos=9, mouse_face_overwritten_p=0xbfc2a720) at dispnew.c:4678
	current_row = (struct glyph_row *) 0x86bcdc4
	desired_row = (struct glyph_row *) 0x869d8cc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#6  0x0805a532 in update_window (w=0x8678580, force_p=0) at dispnew.c:4302
	vpos = 9
	i = 0
	end = (struct glyph_row *) 0x869ed9c
	mode_line_row = (struct glyph_row *) 0x869ed9c
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x869d8cc
	yb = 840
	n_updated = 0
	desired_matrix = (struct glyph_matrix *) 0x867b478
	paused_p = 0
	rif = (struct redisplay_interface *) 0x8231000
#7  0x08059c1b in update_window_tree (w=0x8678580, force_p=0) at dispnew.c:3995
	paused_p = 0
#8  0x08059a40 in update_frame (f=0x86783f8, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	paused_p = 0
	root_window = (struct window *) 0x8678580
#9  0x0807fff9 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11455
	f = (struct frame *) 0x86783f8
	tail = 140052997
	frame = 141001724
	w = (struct window *) 0x8678580
	f = (struct frame *) 0x86783f8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 1, 
  bytepos = 1
}
	tlendpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	count = 2
	count1 = 4
	sf = (struct frame *) 0x86783f8
	polling_stopped_here = 1
	old_frame = 141001724
	consider_all_windows_p = 1
#10 0x0807e22f in redisplay () at xdisp.c:10629
No locals.
#11 0x08134fd5 in read_char (commandflag=1, nmaps=2, maps=0xbfc2b2e0, prev_event=138033353, used_mouse_menu=0xbfc2b458, end_time=0x0) at keyboard.c:2748
	c = 138033353
	count = 0
	jmpcount = 0
	local_getcjmp = {{
    __jmpbuf = {138068729, 1, 1698, 0, 138350992, -1077759592}, 
    __mask_was_saved = 136372559, 
    __saved_mask = {
      __val = {138280445, 138068729, 3217207960, 135961291, 11336, 138068729, 143442996, 4294967295, 4294967295, 4294967295, 4294967295, 0 <repeats 21 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {1698, 1416, 0, 1418, 138350992, 11}, 
    __mask_was_saved = 138350992, 
    __saved_mask = {
      __val = {138033353, 3217207592, 1, 0, 1416, 3217207592, 136361940, 138195985, 143442996, 3217207624, 136369000, 138350992, 1417, 138350992, 136361734, 138350992, 138033353, 1, 1417, 0, 138033353, 3217207656, 136361940, 138068729, 138033353, 138033353, 138033353, 138033353, 138220737, 3217207688, 136361734, 138280445}
    }
  }}
	key_already_recorded = 0
	tem = 0
	save = 0
	previous_echo_area_message = 138033353
	also_record = 138033353
	reread = 0
	gcpro1 = {
  next = 0x82090ce, 
  var = 0x83f1190, 
  nvars = 1417
}
	gcpro2 = {
  next = 0x88cc434, 
  var = 0x1, 
  nvars = -1077759720
}
	polling_stopped_here = 0
	orig_kboard = (struct kboard *) 0x8658560
#12 0x0813f7a3 in read_key_sequence (keybuf=0xbfc2b634, bufsize=30, prompt=138033353, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x8658560
	interrupted_frame = (struct frame *) 0x86783f8
	key = -1077758712
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 138033353
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfc2b2c0
	submaps = (Lisp_Object * volatile) 0xbfc2b2e0
	orig_local_map = 140046421
	orig_keymap = 138033353
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139600725, 
  map = 139600725, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 138025829, 
  map = 138025829, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139600733, 
  map = 139600733, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 138033353
	original_uppercase = 141038056
	original_uppercase_position = -1
	dummyflag = 0
	starting_buffer = (struct buffer *) 0x88cc430
	fake_prefixed_keys = 138033353
	gcpro1 = {
  next = 0x86811e8, 
  var = 0x83c35b2, 
  nvars = 138033353
}
#13 0x08132660 in command_loop_1 () at keyboard.c:1684
	cmd = 138384849
	lose = 0
	nonundocount = 0
	keybuf = {192, 48, -1216835760, -1208053772, -1077758320, -1220962092, -1077758268, -1208132384, 0, 0, 0, 0, -1208069572, -1077758320, -1077758044, -1472036457, 49, -1219556276, -1219561264, 134541582, -1472036458, 134541584, 134541586, 0, 0, 1, 994, -1220962008, 0, -1077758276}
	i = 2
	no_direct = 0
	prev_modiff = 17
	prev_buffer = (struct buffer *) 0x83ab540
	already_adjusted = 0
#14 0x081b761a in internal_condition_case (bfun=0x813230e <command_loop_1>, handlers=138090753, hfun=0x8131cec <cmd_error>) at eval.c:1493
	val = 138278685
	c = {
  tag = 138033353, 
  val = 138033353, 
  next = 0xbfc2b820, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218244620, -1208054560, 0, -1077757976, -1855061887, 585850862}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3217208932, 3086834912, 0, 3076722676, 140324248, 140346216, 3086897724, 3217208880, 3217209156, 276967387, 49, 3075411020, 3075410044, 134542368, 276967386, 3086717852, 134542372, 3217209568, 3086912736, 0, 3075426924, 3076739072, 3217209568, 110932256, 3086913524, 134522752, 3086915176, 3217209328, 3086852579, 3086915616, 3074005288, 1}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 138090753, 
  var = 138033353, 
  chosen_clause = 140327419, 
  tag = 0xbfc2b71c, 
  next = 0x0
}
#15 0x08132067 in command_loop_2 () at keyboard.c:1396
	val = 20
#16 0x081b70d6 in internal_catch (tag=138082313, func=0x8132044 <command_loop_2>, arg=138033353) at eval.c:1229
	c = {
  tag = 138082313, 
  val = 138033353, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218244620, -1208054560, 0, -1077757720, -1854922623, 585207790}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {134921805, 104, 13, 0, 1, 2, 0, 3076727152, 0, 177, 22, 0, 0, 0, 0, 0, 3078993217, 140331568, 3076727152, 3217209576, 135929634, 138218001, 138219378, 138033353, 138065216, 140347928, 140348104, 3076727104, 138033353, 138033353, 138219378, 138219378}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#17 0x0813201d in command_loop () at keyboard.c:1375
No locals.
#18 0x081318f9 in recursive_edit_1 () at keyboard.c:984
	count = 1
	val = -1077752095
#19 0x08131a67 in Frecursive_edit () at keyboard.c:1046
	count = 0
	buffer = 138033353
#20 0x08130339 in main (argc=15, argv=0xbfc2bd94) at emacs.c:1777
	dummy = -1216835760
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) p *s
$1 = {
  x = 30, 
  y = 180, 
  ybase = 196, 
  width = 10, 
  background_width = 10, 
  height = 20, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x86783f8, 
  w = 0x8678580, 
  display = 0x862fb00, 
  window = 37748952, 
  row = 0x869d8cc, 
  area = TEXT_AREA, 
  char2b = 0xbfc2a270, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x83b11f0, 
  font = 0x8678b50, 
  font_info = 0x8678c80, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x88c3800, 
  first_glyph = 0x867c420, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbfc2a1e0, 
  prev = 0x0
}
(gdb) p *s->font
$2 = {
  ext_data = 0x8678c68, 
  fid = 37748754, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x8678ba8, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 10, 
    ascent = -3, 
    descent = -15, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 9, 
    rbearing = 10, 
    width = 10, 
    ascent = 16, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6ecb000, 
  ascent = 16, 
  descent = 4
}
(gdb) p *s->font_info
$3 = {
  font = 0x8678b50, 
  font_idx = 0, 
  name = 0x866db68 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1", 
  full_name = 0x8678a78 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1", 
  charset = 0, 
  size = 10, 
  height = 20, 
  space_width = 10, 
  average_width = 10, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x866dba8
}
(gdb) p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) l x_draw_glyph_string_foreground
1313	/* Draw the foreground of glyph string S.  */
1314	
1315	static void
1316	x_draw_glyph_string_foreground (s)
1317	     struct glyph_string *s;
1318	{
1319	  int i, x;
1320	
1321	  /* If first glyph of S has a left box line, start drawing the text
1322	     of S to the right of that box line.  */
(gdb) 

  reply	other threads:[~2007-11-24 14:08 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-16 19:35 Emacs crashes, 07nov16 Robert J. Chassell
2007-11-18 13:01 ` Richard Stallman
2007-11-18 22:06   ` Robert J. Chassell
2007-11-19 12:25     ` Richard Stallman
2007-11-19 14:05       ` Robert J. Chassell
2007-11-20  3:59         ` Richard Stallman
2007-11-20 11:17           ` Robert J. Chassell
2007-11-20 12:08             ` Jan Djärv
2007-11-20 16:07               ` Robert J. Chassell
2007-11-21  7:42                 ` Jan Djärv
2007-11-21 12:45                   ` Robert J. Chassell
2007-11-21 15:13                     ` Stefan Monnier
2007-11-22  7:07                     ` Jan Djärv
2007-11-22 12:31                       ` Robert J. Chassell
2007-11-22 13:13                         ` Jan Djärv
2007-11-22 16:00                           ` Robert J. Chassell
2007-11-23  9:45                             ` Jan Djärv
2007-11-23 12:31                               ` Robert J. Chassell
2007-11-23 12:46                                 ` David Kastrup
2007-11-23 14:54                                   ` Jan Djärv
2007-11-23 17:07                                     ` Robert J. Chassell
2007-11-24  9:20                                       ` Jan Djärv
2007-11-24 14:08                                         ` Robert J. Chassell [this message]
2007-11-26 14:54                                           ` Jan Djärv
2007-11-26 16:44                                             ` Robert J. Chassell
2007-11-26 19:04                                               ` Jan Djärv
2007-11-24  9:19                                 ` Jan Djärv
2007-11-21 12:04                 ` Richard Stallman
2007-11-21 17:20                   ` Robert J. Chassell
2007-11-22  7:07                     ` Jan Djärv
2007-11-22 11:55                       ` Robert J. Chassell
2007-11-19 20:37 ` RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16) Alfred M. Szmidt
2007-11-21 12:05   ` Richard Stallman
2007-12-13  0:15     ` Alfred M. Szmidt
2007-12-14 10:10       ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2007-11-19  0:30 Emacs crashes, 07nov16 Robert J. Chassell
2007-11-28 12:06 Robert J. Chassell
2007-11-28 17:49 ` Jan Djärv
2007-11-28 18:36 Robert J. Chassell
2007-11-29  6:51 ` Jan Djärv
2007-11-29 11:28   ` Robert J. Chassell
2007-11-29 12:05     ` Jan Djärv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m1Ivvg3-002K4JC@rattlesnake.com \
    --to=bob@rattlesnake.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.