\f
DEFUN ("facep", Ffacep, 1, 1, 0, /*
\f
DEFUN ("facep", Ffacep, 1, 1, 0, /*
}
DEFUN ("make-face", Fmake_face, 1, 3, 0, /*
}
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.
*/
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);
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;
Vwidget_face = Fmake_face (Qwidget,
build_string ("widget face"),
Qnil);
Vwidget_face = Fmake_face (Qwidget,
build_string ("widget face"),
Qnil);
+ set_specifier_fallback (Fget (Vwidget_face, Qfont, Qunbound),
+ Fget (Vgui_element_face, Qfont, Qunbound));
set_specifier_fallback (Fget (Vwidget_face, Qforeground, Qunbound),
Fget (Vgui_element_face, Qforeground, Qunbound));
set_specifier_fallback (Fget (Vwidget_face, Qbackground, Qunbound),
Fget (Vgui_element_face, Qbackground, Qunbound));
set_specifier_fallback (Fget (Vwidget_face, Qforeground, Qunbound),
Fget (Vgui_element_face, Qforeground, Qunbound));
set_specifier_fallback (Fget (Vwidget_face, Qbackground, Qunbound),
Fget (Vgui_element_face, Qbackground, Qunbound));
- set_specifier_fallback (Fget (Vwidget_face, Qbackground_pixmap, Qnil),
- Fget (Vgui_element_face, Qbackground_pixmap,
- Qunbound));
+ /* We don't want widgets to have a default background pixmap. */
Vleft_margin_face = Fmake_face (Qleft_margin,
build_string ("left margin face"),
Vleft_margin_face = Fmake_face (Qleft_margin,
build_string ("left margin face"),