aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1995-10-11 17:07:03 +0000
committerRichard M. Stallman1995-10-11 17:07:03 +0000
commit80af4e50533ee43bd2d7e22adb10d6175f6c8561 (patch)
tree4156e36c3e66ec80fbe4909858ac7ab8cf0adbe6
parent60eaf370b1082c18c39c7f54ad8a00bba9c6699f (diff)
downloademacs-80af4e50533ee43bd2d7e22adb10d6175f6c8561.tar.gz
emacs-80af4e50533ee43bd2d7e22adb10d6175f6c8561.zip
(DISP_TABLE_P): Check the `purpose' slot.
(Qdisplay_table): Declared. (DISP_TABLE_EXTRA_SLOTS, DISP_TABLE_P): New macros. (DISP_TRUNC_GLYPH, DISP_CONTINUE_GLYPH, DISP_ESCAPE_GLYPH) (DISP_CTRL_GLYPH, DISP_INVIS_VECTOR, DISP_BORDER_GLYPH): Use the `extras' field. (window_display_table, buffer_display_table): Change return type.
-rw-r--r--src/disptab.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/disptab.h b/src/disptab.h
index 75847a35095..a21e188b3e5 100644
--- a/src/disptab.h
+++ b/src/disptab.h
@@ -19,24 +19,33 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19 19
20/* Access the slots of a display-table, according to their purpose. */ 20/* Access the slots of a display-table, according to their purpose. */
21 21
22#define DISP_TABLE_SIZE 262 22#define DISP_TABLE_P(obj) \
23#define DISP_TRUNC_GLYPH(dp) ((dp)->contents[256]) 23 (CHAR_TABLE_P (obj) \
24#define DISP_CONTINUE_GLYPH(dp) ((dp)->contents[257]) 24 && XCHAR_TABLE (obj)->purpose == Qdisplay_table \
25#define DISP_ESCAPE_GLYPH(dp) ((dp)->contents[258]) 25 && CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (obj)) == DISP_TABLE_EXTRA_SLOTS)
26#define DISP_CTRL_GLYPH(dp) ((dp)->contents[259]) 26
27#define DISP_INVIS_VECTOR(dp) ((dp)->contents[260]) 27#define DISP_TABLE_EXTRA_SLOTS 6
28#define DISP_BORDER_GLYPH(dp) ((dp)->contents[261]) 28#define DISP_TRUNC_GLYPH(dp) ((dp)->extras[0])
29#define DISP_CONTINUE_GLYPH(dp) ((dp)->extras[1])
30#define DISP_ESCAPE_GLYPH(dp) ((dp)->extras[2])
31#define DISP_CTRL_GLYPH(dp) ((dp)->extras[3])
32#define DISP_INVIS_VECTOR(dp) ((dp)->extras[4])
33#define DISP_BORDER_GLYPH(dp) ((dp)->extras[5])
34
29#define DISP_CHAR_VECTOR(dp, c) ((dp)->contents[c]) 35#define DISP_CHAR_VECTOR(dp, c) ((dp)->contents[c])
30 36
31/* Defined in window.c. */ 37/* Defined in window.c. */
32extern struct Lisp_Vector *window_display_table (); 38extern struct Lisp_Char_Table *window_display_table ();
33 39
34/* Defined in indent.c. */ 40/* Defined in indent.c. */
35extern struct Lisp_Vector *buffer_display_table (); 41extern struct Lisp_Char_Table *buffer_display_table ();
36 42
37/* Display table to use for vectors that don't specify their own. */ 43/* Display table to use for vectors that don't specify their own. */
38extern Lisp_Object Vstandard_display_table; 44extern Lisp_Object Vstandard_display_table;
39 45
46/* This is the `purpose' slot of a display table. */
47extern Lisp_Object Qdisplay_table;
48
40/* Vector of GLYPH definitions. Indexed by GLYPH number, 49/* Vector of GLYPH definitions. Indexed by GLYPH number,
41 the contents are a string which is how to output the GLYPH. */ 50 the contents are a string which is how to output the GLYPH. */
42extern Lisp_Object Vglyph_table; 51extern Lisp_Object Vglyph_table;