]> code.delx.au - gnu-emacs/blobdiff - src/disptab.h
(eshell/time): Stringify and flatten the non-command arguments.
[gnu-emacs] / src / disptab.h
index 6b2f5f05d51358d4056e2204fb455cd336d554e3..19033dc993e110d2dced84191ab968b8a65b5954 100644 (file)
@@ -1,11 +1,12 @@
 /* Things for GLYPHS and glyph tables.
 /* Things for GLYPHS and glyph tables.
-   Copyright (C) 1993 Free Software Foundation, Inc.
+   Copyright (C) 1993, 2001, 2002, 2003, 2004, 2005,
+                 2006, 2007  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
 
 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 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -15,14 +16,14 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /* Access the slots of a display-table, according to their purpose.  */
 
 #define DISP_TABLE_P(obj)                                                  \
   (CHAR_TABLE_P (obj)                                                      \
 
 /* Access the slots of a display-table, according to their purpose.  */
 
 #define DISP_TABLE_P(obj)                                                  \
   (CHAR_TABLE_P (obj)                                                      \
-   && XCHAR_TABLE (obj)->purpose == Qdisplay_table                         \
+   && EQ (XCHAR_TABLE (obj)->purpose, Qdisplay_table)                      \
    && CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (obj)) == DISP_TABLE_EXTRA_SLOTS)
 
 #define DISP_TABLE_EXTRA_SLOTS 6
    && CHAR_TABLE_EXTRA_SLOTS (XCHAR_TABLE (obj)) == DISP_TABLE_EXTRA_SLOTS)
 
 #define DISP_TABLE_EXTRA_SLOTS 6
@@ -33,14 +34,16 @@ Boston, MA 02111-1307, USA.  */
 #define DISP_INVIS_VECTOR(dp) ((dp)->extras[4])
 #define DISP_BORDER_GLYPH(dp) ((dp)->extras[5])
 
 #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));
+
 #define DISP_CHAR_VECTOR(dp, c) \
 #define DISP_CHAR_VECTOR(dp, c) \
-  (SINGLE_BYTE_CHAR_P(c) ? (dp)->contents[c] : Qnil)
+  (SINGLE_BYTE_CHAR_P(c) ? (dp)->contents[c] : disp_char_vector ((dp), (c)))
 
 /* Defined in window.c.  */
 
 /* Defined in window.c.  */
-extern struct Lisp_Char_Table *window_display_table ();
+extern struct Lisp_Char_Table *window_display_table P_ ((struct window *));
 
 /* Defined in indent.c.  */
 
 /* Defined in indent.c.  */
-extern struct Lisp_Char_Table *buffer_display_table ();
+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;
 
 /* Display table to use for vectors that don't specify their own.  */
 extern Lisp_Object Vstandard_display_table;
@@ -88,8 +91,8 @@ extern Lisp_Object Vglyph_table;
 /* 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.  */
 /* 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.  */
-#define GLYPH_LENGTH(base,g)   XSTRING (base[g])->size
-#define GLYPH_STRING(base,g)   XSTRING (base[g])->data
+#define GLYPH_LENGTH(base,g)   SCHARS (base[g])
+#define GLYPH_STRING(base,g)   SDATA (base[g])
 
 /* GLYPH for a space character.  */
 
 
 /* GLYPH for a space character.  */
 
@@ -98,7 +101,5 @@ extern Lisp_Object Vglyph_table;
 
 #define GLYPH_FROM_CHAR(c) (c)
 
 
 #define GLYPH_FROM_CHAR(c) (c)
 
-extern int glyphlen ();
-extern void str_to_glyph_cpy ();
-extern void str_to_glyph_ncpy ();
-extern void glyph_to_str_cpy ();
+/* arch-tag: d7f792d2-f59c-4904-a91e-91522e3ab349
+   (do not change this comment) */