comparison src/faces.c @ 284:558f606b08ae r21-0b40

Import from CVS: tag r21-0b40
author cvs
date Mon, 13 Aug 2007 10:34:13 +0200
parents c42ec1d1cded
children e11d67e05968
comparison
equal deleted inserted replaced
283:fa3d41851a08 284:558f606b08ae
55 to be able to reference them directly and save the overhead of 55 to be able to reference them directly and save the overhead of
56 calling Ffind_face. */ 56 calling Ffind_face. */
57 Lisp_Object Vdefault_face, Vmodeline_face; 57 Lisp_Object Vdefault_face, Vmodeline_face;
58 Lisp_Object Vleft_margin_face, Vright_margin_face, Vtext_cursor_face; 58 Lisp_Object Vleft_margin_face, Vright_margin_face, Vtext_cursor_face;
59 Lisp_Object Vpointer_face; 59 Lisp_Object Vpointer_face;
60 Lisp_Object Vvertical_divider_face;
60 61
61 /* Qdefault, Qhighlight defined in general.c */ 62 /* Qdefault, Qhighlight defined in general.c */
62 Lisp_Object Qmodeline, Qleft_margin, Qright_margin, Qtext_cursor; 63 Lisp_Object Qmodeline, Qleft_margin, Qright_margin, Qtext_cursor;
64 Lisp_Object Qvertical_divider;
63 65
64 /* In the old implementation Vface_list was a list of the face names, 66 /* In the old implementation Vface_list was a list of the face names,
65 not the faces themselves. We now distinguish between permanent and 67 not the faces themselves. We now distinguish between permanent and
66 temporary faces. Permanent faces are kept in a regular hash table, 68 temporary faces. Permanent faces are kept in a regular hash table,
67 temporary faces in a weak hash table. */ 69 temporary faces in a weak hash table. */
1751 /* Qdefault defined in general.c */ 1753 /* Qdefault defined in general.c */
1752 defsymbol (&Qmodeline, "modeline"); 1754 defsymbol (&Qmodeline, "modeline");
1753 defsymbol (&Qleft_margin, "left-margin"); 1755 defsymbol (&Qleft_margin, "left-margin");
1754 defsymbol (&Qright_margin, "right-margin"); 1756 defsymbol (&Qright_margin, "right-margin");
1755 defsymbol (&Qtext_cursor, "text-cursor"); 1757 defsymbol (&Qtext_cursor, "text-cursor");
1758 defsymbol (&Qvertical_divider, "vertical-divider");
1756 1759
1757 DEFSUBR (Ffacep); 1760 DEFSUBR (Ffacep);
1758 DEFSUBR (Ffind_face); 1761 DEFSUBR (Ffind_face);
1759 DEFSUBR (Fget_face); 1762 DEFSUBR (Fget_face);
1760 DEFSUBR (Fface_name); 1763 DEFSUBR (Fface_name);
1802 staticpro (&Vdefault_face); 1805 staticpro (&Vdefault_face);
1803 Vdefault_face = Qnil; 1806 Vdefault_face = Qnil;
1804 staticpro (&Vmodeline_face); 1807 staticpro (&Vmodeline_face);
1805 Vmodeline_face = Qnil; 1808 Vmodeline_face = Qnil;
1806 1809
1810 staticpro (&Vvertical_divider_face);
1811 Vvertical_divider_face = Qnil;
1807 staticpro (&Vleft_margin_face); 1812 staticpro (&Vleft_margin_face);
1808 Vleft_margin_face = Qnil; 1813 Vleft_margin_face = Qnil;
1809 staticpro (&Vright_margin_face); 1814 staticpro (&Vright_margin_face);
1810 Vright_margin_face = Qnil; 1815 Vright_margin_face = Qnil;
1811 staticpro (&Vtext_cursor_face); 1816 staticpro (&Vtext_cursor_face);
1932 /* Now create the other faces that redisplay needs to refer to 1937 /* Now create the other faces that redisplay needs to refer to
1933 directly. We could create them in Lisp but it's simpler this 1938 directly. We could create them in Lisp but it's simpler this
1934 way since we need to get them anyway. */ 1939 way since we need to get them anyway. */
1935 Vmodeline_face = Fmake_face (Qmodeline, build_string ("modeline face"), 1940 Vmodeline_face = Fmake_face (Qmodeline, build_string ("modeline face"),
1936 Qnil); 1941 Qnil);
1942 Vvertical_divider_face = Fmake_face (Qvertical_divider,
1943 build_string ("vertical divider face"),
1944 Qnil);
1945 /* #### vertical-divider-face should not inherit from modeline face.
1946 Perhaps there must be a 3d-object-face to supply default foreground,
1947 background and pixmap. */
1948 set_specifier_fallback (Fget (Vvertical_divider_face, Qforeground, Qunbound),
1949 Fget (Vmodeline_face, Qforeground, Qunbound));
1950 set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground, Qunbound),
1951 Fget (Vmodeline_face, Qbackground, Qunbound));
1952 set_specifier_fallback (Fget (Vvertical_divider_face, Qbackground_pixmap,
1953 Qunbound),
1954 Fget (Vdefault_face, Qbackground_pixmap, Qunbound));
1955
1937 Vleft_margin_face = Fmake_face (Qleft_margin, 1956 Vleft_margin_face = Fmake_face (Qleft_margin,
1938 build_string ("left margin face"), 1957 build_string ("left margin face"),
1939 Qnil); 1958 Qnil);
1940 Vright_margin_face = Fmake_face (Qright_margin, 1959 Vright_margin_face = Fmake_face (Qright_margin,
1941 build_string ("right margin face"), 1960 build_string ("right margin face"),