summaryrefslogtreecommitdiff
path: root/src/disptab.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-05-10 00:16:34 +0000
committerJim Blandy <jimb@redhat.com>1993-05-10 00:16:34 +0000
commit0fc57c6078a8647e1a72d21a65650473759b9365 (patch)
treeaaee726bed764f0267428a5a6c01429aa4616fd4 /src/disptab.h
parent79f9f73c969e8c9d1f5c05c17ebdb316b6e208e7 (diff)
downloademacs-0fc57c6078a8647e1a72d21a65650473759b9365.tar.gz
* xdisp.c (display_text_line): Apply faces to characters according
to overlays and text properties; use compute_char_face to figure out what face to use, and where a new face starts. * xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide which frame face to use. Call GLYPH_FOLLOW_ALIASES to make sure we're implementing the glyph table properly. If we're not using the default or mode line face, call intern_face to find a display face for the frame face selected by the glyph code. Implement underlining. Remove the `font' argument; we have to derive this from the frame and face anyway. Change all callers. * disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
Diffstat (limited to 'src/disptab.h')
-rw-r--r--src/disptab.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/disptab.h b/src/disptab.h
index 37f4bc76db2..d8a4c9ab06d 100644
--- a/src/disptab.h
+++ b/src/disptab.h
@@ -63,6 +63,12 @@ extern Lisp_Object Vglyph_table;
return the alias for G. */
#define GLYPH_ALIAS(base, g) XINT (base[g])
+/* Follow all aliases for G in the glyph table given by (BASE,
+ LENGTH), and set G to the final glyph. */
+#define GLYPH_FOLLOW_ALIASES(base, length, g) \
+ while (GLYPH_ALIAS_P ((base), (length), (g))) \
+ (g) = GLYPH_ALIAS ((base), (g));
+
/* Assuming that GLYPH_SIMPLE_P (BASE, LEN, G) is 0,
return the length and the address of the character-sequence
used for outputting GLYPH G. */