From: Chong Yidong Date: Tue, 8 Jul 2008 17:27:28 +0000 (+0000) Subject: (Finternal_merge_in_global_face): Save merged attributes for the X-Git-Tag: emacs-pretest-23.0.90~4289 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fa9fa316d40a544d8d3882b59e7dfae236f67c6f;p=emacs.git (Finternal_merge_in_global_face): Save merged attributes for the default face back into the face vector. --- diff --git a/src/xfaces.c b/src/xfaces.c index ed802b03f7c..87a9006ae22 100644 --- a/src/xfaces.c +++ b/src/xfaces.c @@ -3966,7 +3966,7 @@ Default face attributes override any local face attributes. */) else if (! UNSPECIFIEDP (gvec[i])) lvec[i] = gvec[i]; - /* If the default face was changed, realize it again, and update the + /* If the default face was changed, update the face cache and the `font' frame parameter. */ if (EQ (face, Qdefault)) { @@ -3977,9 +3977,12 @@ Default face attributes override any local face attributes. */) /* This can be NULL (e.g., in batch mode). */ if (oldface) { + /* Ensure that the face vector is fully specified by merging + the previously-cached vector. */ bcopy (oldface->lface, attrs, sizeof attrs); merge_face_vectors (f, lvec, attrs, 0); - newface = realize_face (c, attrs, DEFAULT_FACE_ID); + bcopy (attrs, lvec, sizeof attrs); + newface = realize_face (c, lvec, DEFAULT_FACE_ID); if ((! UNSPECIFIEDP (gvec[LFACE_FAMILY_INDEX]) || ! UNSPECIFIEDP (gvec[LFACE_FOUNDRY_INDEX])