X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Ffaces.c;h=7ce8d1029963df516fc97e81f95fea316ebf2847;hb=f9fdf5a6cb58286f64f6f8bd0bfd2dab9b9b8816;hp=3ec7039430e621a110f28dafa8818f7251da7ef4;hpb=77dcef404dc78635f6ffa8f71a803d2bc7cc8921;p=chise%2Fxemacs-chise.git diff --git a/src/faces.c b/src/faces.c index 3ec7039..7ce8d10 100644 --- a/src/faces.c +++ b/src/faces.c @@ -55,7 +55,7 @@ Lisp_Object Qinit_global_faces; calling Ffind_face. */ Lisp_Object Vdefault_face, Vmodeline_face, Vgui_element_face; Lisp_Object Vleft_margin_face, Vright_margin_face, Vtext_cursor_face; -Lisp_Object Vpointer_face, Vvertical_divider_face, Vtoolbar_face; +Lisp_Object Vpointer_face, Vvertical_divider_face, Vtoolbar_face, Vwidget_face; /* Qdefault, Qhighlight defined in general.c */ Lisp_Object Qmodeline, Qgui_element, Qleft_margin, Qright_margin, Qtext_cursor; @@ -358,7 +358,7 @@ static struct Lisp_Face * allocate_face (void) { struct Lisp_Face *result = - alloc_lcrecord_type (struct Lisp_Face, lrecord_face); + alloc_lcrecord_type (struct Lisp_Face, &lrecord_face); reset_face (result); return result; @@ -1736,7 +1736,7 @@ LOCALE, TAG-SET, EXACT-P, and HOW-TO-ADD are as in `copy-specifier'. void syms_of_faces (void) { - /* Qdefault defined in general.c */ + /* Qdefault & Qwidget defined in general.c */ defsymbol (&Qmodeline, "modeline"); defsymbol (&Qgui_element, "gui-element"); defsymbol (&Qleft_margin, "left-margin"); @@ -1793,6 +1793,8 @@ vars_of_faces (void) Vdefault_face = Qnil; staticpro (&Vgui_element_face); Vgui_element_face = Qnil; + staticpro (&Vwidget_face); + Vwidget_face = Qnil; staticpro (&Vmodeline_face); Vmodeline_face = Qnil; staticpro (&Vtoolbar_face); @@ -1825,7 +1827,7 @@ vars_of_faces (void) syms[n++] = Qblinking; syms[n++] = Qreverse; - Vbuilt_in_face_specifiers = pure_list (n, syms); + Vbuilt_in_face_specifiers = Flist (n, syms); staticpro (&Vbuilt_in_face_specifiers); } } @@ -1998,6 +2000,18 @@ complex_vars_of_faces (void) Fget (Vgui_element_face, Qbackground_pixmap, Qunbound)); + /* widget is another gui element */ + Vwidget_face = Fmake_face (Qwidget, + build_string ("widget face"), + Qnil); + 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)); + Vleft_margin_face = Fmake_face (Qleft_margin, build_string ("left margin face"), Qnil);