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