Commit cb637678 authored by Jim Blandy's avatar Jim Blandy
Browse files

* xfaces.c (Fmake_face_internal): Do nothing for non-X frames.

	* dispextern.h (struct face): Add cached_index member.
	* xfaces.c (get_cached_face): Use it to avoid unnecessary
	searches of face_vector.

	* xfaces.c (intern_face): Renamed from get_display_face.

	* xfns.c (x_make_gc): After building the GC's for the frame, call
	init_frame_faces to set up the first two faces.
	* xfaces.c (init_frame_faces): Don't just try to copy the default
	and mode line faces from some other random frame; instead, consult
	the normal_gc and reverse_gc members of the frame, and build the
	faces based on their parameters.

	Adjust the face computation functions to return frame face ID's,
	not pointers to display faces; since we call these functions
	during display construction, we don't want the display faces yet.
	* xfaces.c (intern_frame_face): New function.
	(compute_char_face, compute_glyph_face): Apply intern_frame_face
	to the computed face, and return the frame face's ID, instead of
	calling intern_face and returning a pointer to a display frame.

	* xfaces.c: Describe the facial data structures.  It took me a
	while to figure them out; perhaps this will save someone else the
	trouble.

	* xfaces.c (get_display_face): Use face_eql instead of writing it out.
parent 31b24551
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment