(set-face-background-pixmap): An alias for that.
(face-stipple): New function.
(face-background-pixmap): An alias for that.
(copy-face, face-equal, face-differs-from-default-p)
(make-face-x-resource-internal): Handle stipple bitmaps.
(x_bitmap_icon): Arg FILE is now a Lisp_Object.
(x_iconify_frame, x_make_frame_visible): Supply FILE arg to it.
(x_bitmap_icon): Properly discard the previous bitmap.
(x_text_icon): Discard bitmap only if we have one.
(copy_face, merge_faces): Copy the pixmap_h and pixmap_w.
(intern_face): Store the stipple in the GC.
(unload_color): Really do free the color.
(free_frame_faces): Call unload_pixmap.
(Fset_face_attribute_internal): Handle background pixmap.
Destroy old pixmap when necessary.
(free_frame_faces): Destroy pixmaps.
(load_pixmap): New function.
(Fpixmap_spec_p): New function.
(syms_of_xfaces): Set up Lisp function pixmap-spec-p.
Set up Qpixmap_spec_p.
(compute_base_face): Don't set cached_index field.
(compute_base_face): Use FRAME_FOREGROUND_PIXEL,
FRAME_BACKGROUND_PIXEL, FRAME_FONT.
Support background stipple, and search path for bitmap files:
(x_set_icon_type): Pass x_bitmap_icon 2nd arg as Lisp_Object.
(x_icon_type): Return a Lisp_Object.
(x_destroy_bitmap, x_reference_bitmap): Take frame as arg. Callers changed.
(struct x_bitmap_record): New fields height, width, depth.
(x_create_bitmap_from_data): Fill in those fields.
(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap): New functions.
(x_create_bitmap_from_file): Arg FILE is now a Lisp_Object.
Search Vbitmap_file_path for it. Fill in new fields.
(syms_of_xfns): Set up Vbitmap_file_path.
(appt-delete): Don't set tmp-appt-msg-list.
(appt-delete-window): Avoid error if WINDOW is nil.
(appt-delete-window): Do nothing if the window
is the only one in its frame.
bitmap from that file.
(Fx_create_frame): Set icon_bitmap field to -1.
(struct x_bitmap_record): New structure type.
(x_bitmaps, x_bitmaps_size, x_bitmaps_last, x_bitmaps_free): New variables.
(x_allocate_bitmap_record): New function.
(x_reference_bitmap, x_create_bitmap, x_create_bitmap_from_file)
(x_destroy_bitmap, x_lookup_pixmap): New functions.
(line_dance, line_dance_len, line_dance_in_progress): New vars.
(XTins_del_lines): Don't do any X calls; just update the array.
(do_line_dance): New function. Do the X calls here.
(XTupdate_end, XTwrite_glyphs): Call do_line_dance.
(face_vector, nfaces, nfaces_allocated): Vars deleted.
(free_frame_faces): Free GCs in the computed faces.
Free the computed faces themselves.
(clear_face_cache): Renamed from clear_face_vector
and completely rewritten to free GCs in the computed faces.
(get_cached_face): Function deleted.
(build_face): Function deleted; code moved into intern_face.
(intern_face): Don't treat default and modeline faces specially.
(recompute_basic_faces): Call intern_face, not build_face.
(intern_face, clear_face_vector, load_font, unload_font)
(load_color, free_frame_faces, recompute_basic_faces): Use FRAME_X_DISPLAY.