/* Things for GLYPHS and glyph tables.
- Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1993, 2001-2016 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
/* Access the slots of a display-table, according to their purpose. */
+#ifndef EMACS_DISPTAB_H
+#define EMACS_DISPTAB_H
+
+#include "lisp.h"
+
#define DISP_TABLE_P(obj) \
(CHAR_TABLE_P (obj) \
&& EQ (XCHAR_TABLE (obj)->purpose, Qdisplay_table) \
#define DISP_INVIS_VECTOR(dp) ((dp)->extras[4])
#define DISP_BORDER_GLYPH(dp) ((dp)->extras[5])
-extern Lisp_Object disp_char_vector P_ ((struct Lisp_Char_Table *, int));
+extern Lisp_Object disp_char_vector (struct Lisp_Char_Table *, int);
#define DISP_CHAR_VECTOR(dp, c) \
(ASCII_CHAR_P(c) \
: disp_char_vector ((dp), (c)))
/* Defined in window.c. */
-extern struct Lisp_Char_Table *window_display_table P_ ((struct window *));
+extern struct Lisp_Char_Table *window_display_table (struct window *);
/* Defined in indent.c. */
-extern struct Lisp_Char_Table *buffer_display_table P_ ((void));
-
-/* Display table to use for vectors that don't specify their own. */
-extern Lisp_Object Vstandard_display_table;
-
-/* This is the `purpose' slot of a display table. */
-extern Lisp_Object Qdisplay_table;
-
-/* Vector of GLYPH definitions. Indexed by GLYPH number,
- the contents are a string which is how to output the GLYPH. */
-extern Lisp_Object Vglyph_table;
+extern struct Lisp_Char_Table *buffer_display_table (void);
/* Return the current length of the GLYPH table,
or 0 if the table isn't currently valid. */
#define GLYPH_TABLE_LENGTH \
- ((VECTORP (Vglyph_table)) ? XVECTOR_SIZE (Vglyph_table) : 0)
+ ((VECTORP (Vglyph_table)) ? ASIZE (Vglyph_table) : 0)
/* Return the current base (for indexing) of the GLYPH table,
or 0 if the table isn't currently valid. */
SET_GLYPH_CHAR ((g), XINT ((base)[GLYPH_CHAR (g)])); \
if (!GLYPH_CHAR_VALID_P (g)) \
SET_GLYPH_CHAR (g, ' '); \
- } while (0)
+ } while (false)
/* Assuming that GLYPH_SIMPLE_P (BASE, LEN, G) is 0,
return the length and the address of the character-sequence
#define SET_GLYPH_FROM_CHAR(glyph, c) \
SET_GLYPH (glyph, c, DEFAULT_FACE_ID)
-/* arch-tag: d7f792d2-f59c-4904-a91e-91522e3ab349
- (do not change this comment) */
+#endif /* EMACS_DISPTAB_H */