\f
DEFUN ("facep", Ffacep, 1, 1, 0, /*
-Return non-nil if OBJECT is a face.
+Return t if OBJECT is a face.
*/
(object))
{
}
DEFUN ("make-face", Fmake_face, 1, 3, 0, /*
-Define and return a new FACE described by DOC-STRING.
-You can modify the font, color, etc of a face with the set-face-* functions.
+Define a new face with name NAME (a symbol), described by DOC-STRING.
+You can modify the font, color, etc. of a face with the set-face-* functions.
If the face already exists, it is unmodified.
If TEMPORARY is non-nil, this face will cease to exist if not in use.
*/
findex = get_builtin_face_cache_index (w, Vdefault_face);
merge_face_cachel_data (w, findex, &cachel);
- return get_merged_face_cache_index (w, &cachel);
+ findex = get_merged_face_cache_index (w, &cachel);
+ if (cachel.merged_faces &&
+ /* merged_faces did not get stored and available via return value */
+ Dynarr_at (w->face_cachels, findex).merged_faces !=
+ cachel.merged_faces)
+ {
+ Dynarr_free (cachel.merged_faces);
+ cachel.merged_faces = 0;
+ }
+ return findex;
}
}