aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorRichard M. Stallman1995-10-12 21:19:49 +0000
committerRichard M. Stallman1995-10-12 21:19:49 +0000
commit7f73dc9db37eeb50bb407aeea89bb43d6eccac5e (patch)
tree51a638771c2fa69629eda5089da54d793e8a4aff /src/lisp.h
parent352e5dea1ec66612122342a05cce662e027c6058 (diff)
downloademacs-7f73dc9db37eeb50bb407aeea89bb43d6eccac5e.tar.gz
emacs-7f73dc9db37eeb50bb407aeea89bb43d6eccac5e.zip
(struct Lisp_Char_Table): New slot `purpose'.
(CHAR_TABLE_STANDARD_SLOTS): Add one. (CHECK_VECTOR_OR_CHAR_TABLE): New macro.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/lisp.h b/src/lisp.h
index cda91c2b441..1db0a8ebd8b 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -551,7 +551,7 @@ struct Lisp_Vector
551 551
552/* This is the number of slots that every char table must have. 552/* This is the number of slots that every char table must have.
553 This counts the ordinary slots and the parent and defalt slots. */ 553 This counts the ordinary slots and the parent and defalt slots. */
554#define CHAR_TABLE_STANDARD_SLOTS (256+2) 554#define CHAR_TABLE_STANDARD_SLOTS (256+3)
555 555
556/* Return the number of "extra" slots in the char table CT. */ 556/* Return the number of "extra" slots in the char table CT. */
557 557
@@ -573,6 +573,10 @@ struct Lisp_Char_Table
573 when the value for a specific character is nil. 573 when the value for a specific character is nil.
574 The `defalt' slot takes precedence over this. */ 574 The `defalt' slot takes precedence over this. */
575 Lisp_Object parent; 575 Lisp_Object parent;
576 /* This should be a symbol which says what kind of use
577 this char-table is meant for.
578 Typically now the values can be `syntax-table' and `display-table'. */
579 Lisp_Object purpose;
576 /* These hold additional data. */ 580 /* These hold additional data. */
577 Lisp_Object extras[1]; 581 Lisp_Object extras[1];
578 }; 582 };
@@ -994,6 +998,11 @@ typedef unsigned char UCHAR;
994#define CHECK_VECTOR(x, i) \ 998#define CHECK_VECTOR(x, i) \
995 do { if (!VECTORP ((x))) x = wrong_type_argument (Qvectorp, (x)); } while (0) 999 do { if (!VECTORP ((x))) x = wrong_type_argument (Qvectorp, (x)); } while (0)
996 1000
1001#define CHECK_VECTOR_OR_CHAR_TABLE(x, i) \
1002 do { if (!VECTORP ((x)) && !CHAR_TABLE_P ((x))) \
1003 x = wrong_type_argument (Qvector_or_char_table_p, (x)); \
1004 } while (0)
1005
997#define CHECK_BUFFER(x, i) \ 1006#define CHECK_BUFFER(x, i) \
998 do { if (!BUFFERP ((x))) x = wrong_type_argument (Qbufferp, (x)); } while (0) 1007 do { if (!BUFFERP ((x))) x = wrong_type_argument (Qbufferp, (x)); } while (0)
999 1008
@@ -1351,7 +1360,7 @@ extern Lisp_Object Qsymbolp, Qlistp, Qconsp;
1351extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; 1360extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp;
1352extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qvectorp; 1361extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qvectorp;
1353extern Lisp_Object Qinteger_or_marker_p, Qnumber_or_marker_p; 1362extern Lisp_Object Qinteger_or_marker_p, Qnumber_or_marker_p;
1354extern Lisp_Object Qchar_table_p; 1363extern Lisp_Object Qchar_table_p, Qvector_or_char_table_p;
1355extern Lisp_Object Qboundp, Qfboundp; 1364extern Lisp_Object Qboundp, Qfboundp;
1356extern Lisp_Object Qbuffer_or_string_p; 1365extern Lisp_Object Qbuffer_or_string_p;
1357extern Lisp_Object Qcdr; 1366extern Lisp_Object Qcdr;
@@ -1473,6 +1482,7 @@ extern Lisp_Object Fpurecopy (), make_pure_string ();
1473extern Lisp_Object pure_cons (), make_pure_vector (); 1482extern Lisp_Object pure_cons (), make_pure_vector ();
1474extern Lisp_Object Fgarbage_collect (); 1483extern Lisp_Object Fgarbage_collect ();
1475extern Lisp_Object Fmake_byte_code (); 1484extern Lisp_Object Fmake_byte_code ();
1485extern Lisp_Object Qchar_table_extra_slots;
1476extern struct Lisp_Vector *allocate_vectorlike (); 1486extern struct Lisp_Vector *allocate_vectorlike ();
1477extern int gc_in_progress; 1487extern int gc_in_progress;
1478 1488