Andy Piper <andy(a)xemacs.org> writes in xemacs-beta(a)xemacs.org:
> Can you break on the line that sets cachel (glyphs.c:1963 in my build) and
> see what the domain actually is (i.e. is it a window?).
I see glyphs.c:1963 as:
cachel = WINDOW_FACE_CACHEL (XWINDOW (domain), DEFAULT_INDEX);
(gdb) pobj domain
$3 = (struct window *) 0x8646dc0
$4 = {header = {lheader = {type = 37, mark = 0, c_readonly = 0,
lisp_readonly = 0}, next = 0x85d5cb0, uid = 9803, free = 0},
frame = 140336304, mini_p = 137314884, next = 141041056, prev = 137314884,
hchild = 137314884, vchild = 137314884, parent = 137314884, pixel_left = 0,
pixel_top = 0, pixel_height = 9, pixel_width = 10, buffer = 137905888,
start = {140617900, 140617924, 140617948}, pointm = {140617972, 140617996,
140618020}, sb_point = 140618044, hscroll = 0, modeline_hscroll = 0,
top_yoffset = 0, left_xoffset = 0, use_time = 1, last_modified = {1, 1, 1},
last_point = {140618068, 140618092, 140618116}, last_start = {140618140,
140618164, 140618188}, last_facechange = {1, 1, 1},
face_cachels = 0x8649130, glyph_cachels = 0x86490f0,
subwindow_instance_cache = 140799976, line_start_cache = 0x86490b0,
line_cache_last_updated = 1, line_cache_validation_override = 0,
max_line_len = 0, last_point_x = {0, 0, 0}, last_point_y = {0, 0, 0},
window_end_pos = {0, 0, 0}, redisplay_end_trigger = 137314884,
gutter_extent_modiff = {0, 0, 0, 0}, last_redisplay_pos = 0,
dedicated = 137314884, display_table = 139989152,
modeline_shadow_thickness = 5, has_modeline_p = 137314908,
vertical_divider_shadow_thickness = 5, vertical_divider_line_width = 7,
vertical_divider_spacing = 5, vertical_divider_always_visible_p = 137314908,
scrollbar_width = 31, scrollbar_height = 31,
horizontal_scrollbar_visible_p = 137314908,
vertical_scrollbar_visible_p = 137314908, scrollbar_on_left_p = 137314884,
scrollbar_on_top_p = 137314884, scrollbar_pointer = 140267368, toolbar = {
140337228, 137314884, 137314884, 137314884}, toolbar_size = {75, 1, 1, 1},
toolbar_border_width = {1, 1, 1, 1}, toolbar_visible_p = {137314908,
137314908, 137314908, 137314908}, toolbar_buttons_captioned_p = 137314908,
default_toolbar = 140337228, default_toolbar_width = 81,
default_toolbar_height = 75, default_toolbar_visible_p = 137314908,
default_toolbar_border_width = 1, gutter = {137314884, 137314884, 137314884,
137314884}, real_gutter = {137314884, 137314884, 137314884, 137314884},
gutter_size = {137432060, 1, 1, 1}, real_gutter_size = {137314884, 1, 1, 1},
gutter_border_width = {5, 1, 1, 1}, gutter_visible_p = {139859616,
137314908, 137314908, 137314908}, default_gutter = 137314884,
default_gutter_width = 81, default_gutter_height = 137432060,
default_gutter_visible_p = 139859616, default_gutter_border_width = 5,
left_margin_width = 1, right_margin_width = 1, minimum_line_ascent = 1,
minimum_line_descent = 1, use_left_overflow = 137314884,
use_right_overflow = 137314884, menubar_visible_p = 137314908,
text_cursor_visible_p = 137314908, config_mark = 0, dead = 0,
force_start = 0, redo_modeline = 0, start_at_line_beg = 1,
windows_changed = 1, shadow_thickness_changed = 1,
need_vertical_divider_p = 0, need_vertical_divider_valid_p = 0}
> What happens if you insert this code from faces.c before
> WINDOW_FACE_CACHEL is accessed:
> struct window *w = XWINDOW (domain);
> /* #### It's possible for this function to get called when the
> face cachels have not been initialized. I don't know why. */
> if (!Dynarr_length (w->face_cachels))
> reset_face_cachels (w);
> Thank
I will try that next.
Further data:
$ xrdb -q | grep -i xemacs
XEmacs*fontSet: -*-helvetica-bold-r-*--12-*-*-*-*-*-*-*,-*-fixed-medium-r-normal--14-*
XEmacs.bold.attributeFont: -*-lucidatypewriter-bold-*-*-*-14-*-*-*-*-*-iso8859-*
XEmacs.bolditalic.attributeFont: -*-lucidatypewriter-bold-i-*-*-14-*-*-*-*-*-iso8859-*
XEmacs.default.attributeFont: -*-lucidatypewriter-medium-*-*-*-14-*-*-*-*-*-iso8859-*
XEmacs.italic.attributeFont: -*-lucidatypewriter-medium-i-*-*-14-*-*-*-*-*-iso8859-*
XEmacs.modeline.attributeBackgroundPixmap: nothing