changeset 92275:fe4c6489cfdf

(CHAR_GLYPH_SPACE_P): Simplify. (GLYPH_FROM_CHAR_GLYPH): Replace macro by ... (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro. Change users. (GLYPH_INVALID_P): New macro. (spec_glyph_lookup_face): Update prototype.
author Kim F. Storm <storm@cua.dk>
date Wed, 27 Feb 2008 22:48:44 +0000
parents 53480d0855ab
children 1dc7b04a4d95
files src/dispextern.h
diffstat 1 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/dispextern.h	Wed Feb 27 22:47:49 2008 +0000
+++ b/src/dispextern.h	Wed Feb 27 22:48:44 2008 +0000
@@ -418,7 +418,7 @@
 /* Is GLYPH a space?  */
 
 #define CHAR_GLYPH_SPACE_P(GLYPH) \
-     (GLYPH_FROM_CHAR_GLYPH ((GLYPH)) == SPACEGLYPH)
+  ((GLYPH).u.ch == SPACEGLYPH)
 
 /* Are glyph slices of glyphs *X and *Y equal */
 
@@ -465,18 +465,25 @@
 
 #define SET_CHAR_GLYPH_FROM_GLYPH(GLYPH, FROM)			\
      SET_CHAR_GLYPH ((GLYPH),					\
-	 	     FAST_GLYPH_CHAR ((FROM)),			\
-		     FAST_GLYPH_FACE ((FROM)),			\
+	 	     GLYPH_CHAR ((FROM)),			\
+		     GLYPH_FACE ((FROM)),			\
 		     0)
 
 /* Construct a glyph code from a character glyph GLYPH.  If the
    character is multibyte, return -1 as we can't use glyph table for a
    multibyte character.  */
 
-#define GLYPH_FROM_CHAR_GLYPH(GLYPH)				\
-  ((GLYPH).u.ch < 256						\
-   ? ((GLYPH).u.ch | ((GLYPH).face_id << CHARACTERBITS))	\
-   : -1)
+#define SET_GLYPH_FROM_CHAR_GLYPH(G, GLYPH)			\
+  do								\
+    {								\
+      if ((GLYPH).u.ch < 256)					\
+	SET_GLYPH ((G), (GLYPH).u.ch, ((GLYPH).face_id));	\
+      else							\
+	SET_GLYPH ((G), -1, 0);					\
+    }								\
+  while (0)
+
+#define GLYPH_INVALID_P(GLYPH) (GLYPH_CHAR (GLYPH) < 0)
 
 /* Is GLYPH a padding glyph?  */
 
@@ -3017,7 +3024,7 @@
 void init_display P_ ((void));
 void syms_of_display P_ ((void));
 extern Lisp_Object Qredisplay_dont_pause;
-GLYPH spec_glyph_lookup_face P_ ((struct window *, GLYPH));
+void spec_glyph_lookup_face P_ ((struct window *, GLYPH *));
 
 /* Defined in terminal.c */