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)
next prev parent 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.