Mercurial > hg > xemacs-beta
diff src/faces.c @ 288:e11d67e05968 r21-0b42
Import from CVS: tag r21-0b42
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:35:54 +0200 |
parents | 558f606b08ae |
children | c9fe270a4101 |
line wrap: on
line diff
--- a/src/faces.c Mon Aug 13 10:35:07 2007 +0200 +++ b/src/faces.c Mon Aug 13 10:35:54 2007 +0200 @@ -54,13 +54,13 @@ /* These faces are used directly internally. We use these variables to be able to reference them directly and save the overhead of calling Ffind_face. */ -Lisp_Object Vdefault_face, Vmodeline_face; +Lisp_Object Vdefault_face, Vmodeline_face, V3d_object_face; Lisp_Object Vleft_margin_face, Vright_margin_face, Vtext_cursor_face; Lisp_Object Vpointer_face; Lisp_Object Vvertical_divider_face; /* Qdefault, Qhighlight defined in general.c */ -Lisp_Object Qmodeline, Qleft_margin, Qright_margin, Qtext_cursor; +Lisp_Object Qmodeline, Q3d_object, Qleft_margin, Qright_margin, Qtext_cursor; Lisp_Object Qvertical_divider; /* In the old implementation Vface_list was a list of the face names, @@ -1752,6 +1752,7 @@ { /* Qdefault defined in general.c */ defsymbol (&Qmodeline, "modeline"); + defsymbol (&Q3d_object, "3d-object"); defsymbol (&Qleft_margin, "left-margin"); defsymbol (&Qright_margin, "right-margin"); defsymbol (&Qtext_cursor, "text-cursor"); @@ -1804,6 +1805,8 @@ staticpro (&Vdefault_face); Vdefault_face = Qnil; + staticpro (&V3d_object_face); + V3d_object_face = Qnil; staticpro (&Vmodeline_face); Vmodeline_face = Qnil; @@ -1934,11 +1937,25 @@ set_specifier_fallback (Fget (Vdefault_face, Qreverse, Qnil), list1 (Fcons (Qnil, Qnil))); + /* mustn't inherit bg pixmaps from the default face */ + V3d_object_face = Fmake_face (Q3d_object, build_string ("3d object face"), + Qnil); + /* Now create the other faces that redisplay needs to refer to directly. We could create them in Lisp but it's simpler this way since we need to get them anyway. */ Vmodeline_face = Fmake_face (Qmodeline, build_string ("modeline face"), Qnil); + + /* modeline-face should not inherit colors from the default face. */ + set_specifier_fallback (Fget (Vmodeline_face, Qforeground, Qunbound), + Fget (V3d_object_face, Qforeground, Qunbound)); + set_specifier_fallback (Fget (Vmodeline_face, Qbackground, Qunbound), + Fget (V3d_object_face, Qbackground, Qunbound)); + set_specifier_fallback (Fget (Vmodeline_face, Qbackground_pixmap, + Qnil), + Fget (V3d_object_face, Qbackground_pixmap, Qunbound)); + Vvertical_divider_face = Fmake_face (Qvertical_divider, build_string ("vertical divider face"), Qnil); @@ -1946,12 +1963,12 @@ Perhaps there must be a 3d-object-face to supply default foreground, background and pixmap. */ set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound), - Fget (Vmodeline_face, Qforeground, Qunbound)); + Fget (V3d_object_face, Qforeground, Qunbound)); set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground, Qunbound), - Fget (Vmodeline_face, Qbackground, Qunbound)); + Fget (V3d_object_face, Qbackground, Qunbound)); set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground_pixmap, Qunbound), - Fget (Vdefault_face, Qbackground_pixmap, Qunbound)); + Fget (V3d_object_face, Qbackground_pixmap, Qunbound)); Vleft_margin_face = Fmake_face (Qleft_margin, build_string ("left margin face"),