Jan Vroonhof <jan(a)xemacs.org> writes:
/* #### This can be referenced by various functions,
but face_cachels isn't initialized for the stream device.
Since it doesn't need the value we just return nil here to avoid
blowing up in multiple places. */
#define WINDOW_FACE_CACHEL_FONT(window, index, charset) \
((window)->face_cachels \
? FACE_CACHEL_FONT (WINDOW_FACE_CACHEL (window, index), charset) \
And indeed (window)->face_cachels is not 0, but an empty array.
This whole area needs a audit. The line-start cache suffers from
similar problems on stream devices
Starting program: /local/xemacs/trunk/normal/src/./xemacs -batch -vanilla -f recenter
Program received signal SIGSEGV, Segmentation fault.
0x818d2b4 in start_with_line_at_pixpos (w=0x830e1b8, point=1,
pixpos=4) at /local/xemacs/trunk/src/redisplay.c:7203
7203 Dynarr_reset (w->line_start_cache);
(gdb) where
#0 0x818d2b4 in start_with_line_at_pixpos (w=0x830e1b8, point=1,
pixpos=4) at /local/xemacs/trunk/src/redisplay.c:7203
#1 0x81ef316 in Fcenter_to_window_line (n=137117028,
window=137117028) at /local/xemacs/trunk/src/window.c:4733
#2 0x80bd4da in Ffuncall (nargs=3, args=0xbfffefd8)
at /local/xemacs/trunk/src/eval.c:3477