changeset 5625:6fa0c5fb6154

One comment. -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2011-12-27 Didier Verna <didier@xemacs.org> * faces.c: Add a comment about the way background pixmaps are handled right now, just above MAYBE_UNFROB_BACKGROUND_PIXMAP.
author Didier Verna <didier@xemacs.org>
date Tue, 27 Dec 2011 18:27:59 +0100
parents c39052c921b5
children eb41da9b4469
files src/ChangeLog src/faces.c
diffstat 2 files changed, 28 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Dec 27 17:07:23 2011 +0100
+++ b/src/ChangeLog	Tue Dec 27 18:27:59 2011 +0100
@@ -1,3 +1,8 @@
+2011-12-27  Didier Verna  <didier@xemacs.org>
+
+	* faces.c: Add a comment about the way background pixmaps are
+	handled right now, just above MAYBE_UNFROB_BACKGROUND_PIXMAP.
+
 2011-12-27  Didier Verna  <didier@xemacs.org>
 
 	* faces.h (struct Lisp_Face): New 'foreback slot.
--- a/src/faces.c	Tue Dec 27 17:07:23 2011 +0100
+++ b/src/faces.c	Tue Dec 27 18:27:59 2011 +0100
@@ -1351,16 +1351,29 @@
     cachel->field##_specified = (bound || default_face);		     \
   } while (0)
 
-/*
- * A face's background pixmap will override the face's
- * background color.  But the background pixmap of the
- * default face should not override the background color of
- * a face if the background color has been specified or
- * inherited.
- *
- * To accomplish this we remove the background pixmap of the
- * cachel and mark it as having been specified so that cachel
- * merging won't override it later.
+
+/* #### FIXME:
+
+   This is shaky and might not even be what's desired from time to time. Why
+   restrict to the default face? Somebody could want to specify the background
+   color of *any* face, and make it have precedence over inherited pixmaps.
+   
+   What's really needed is a more general background property:
+   - type: color or pixmap
+   - color (for the color type)
+   - pixmap + fg color / bg color (in case of bitmap) for the pixmap type.
+   
+   And, BTW, the foreground property could also behave like this.
+   
+   -- dvl
+
+   A face's background pixmap will override the face's background color. But
+   the background pixmap of the default face should not override the
+   background color of a face if the background color has been specified or
+   inherited.
+ 
+   To accomplish this we remove the background pixmap of the cachel and mark
+   it as having been specified so that cachel merging won't override it later.
  */
 #define MAYBE_UNFROB_BACKGROUND_PIXMAP          \
 do                                              \