# HG changeset patch # User Kim F. Storm # Date 1204152524 0 # Node ID fe4c6489cfdf635a7c0c0c7b37c2376e91a28a35 # Parent 53480d0855abda6235cbbeb8c7a00cd83150a3f7 (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. diff -r 53480d0855ab -r fe4c6489cfdf src/dispextern.h --- 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 */