Commit 0421a7a7 authored by Chong Yidong's avatar Chong Yidong
Browse files

(Finternal_merge_in_global_face): Don't realize default face if it

didn't already exist.
parent 0a143d3a
......@@ -3971,22 +3971,26 @@ Default face attributes override any local face attributes. */)
struct face *newface, *oldface = FACE_FROM_ID (f, DEFAULT_FACE_ID);
Lisp_Object attrs[LFACE_VECTOR_SIZE];
bcopy (oldface->lface, attrs, sizeof attrs);
merge_face_vectors (f, lvec, attrs, 0);
newface = realize_face (c, attrs, DEFAULT_FACE_ID);
if ((! UNSPECIFIEDP (gvec[LFACE_FAMILY_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_FOUNDRY_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_HEIGHT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_WEIGHT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_SLANT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_SWIDTH_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_FONT_INDEX]))
&& newface->font)
/* This can be NULL (e.g., in batch mode). */
if (oldface)
{
Lisp_Object name = newface->font->props[FONT_NAME_INDEX];
Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name),
Qnil));
bcopy (oldface->lface, attrs, sizeof attrs);
merge_face_vectors (f, lvec, attrs, 0);
newface = realize_face (c, attrs, DEFAULT_FACE_ID);
if ((! UNSPECIFIEDP (gvec[LFACE_FAMILY_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_FOUNDRY_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_HEIGHT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_WEIGHT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_SLANT_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_SWIDTH_INDEX])
|| ! UNSPECIFIEDP (gvec[LFACE_FONT_INDEX]))
&& newface->font)
{
Lisp_Object name = newface->font->props[FONT_NAME_INDEX];
Fmodify_frame_parameters (frame, Fcons (Fcons (Qfont, name),
Qnil));
}
}
}
......
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