diff options
| author | Richard M. Stallman | 1995-10-12 21:19:49 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-10-12 21:19:49 +0000 |
| commit | 7f73dc9db37eeb50bb407aeea89bb43d6eccac5e (patch) | |
| tree | 51a638771c2fa69629eda5089da54d793e8a4aff /src/lisp.h | |
| parent | 352e5dea1ec66612122342a05cce662e027c6058 (diff) | |
| download | emacs-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.h | 14 |
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; | |||
| 1351 | extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; | 1360 | extern Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; |
| 1352 | extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qvectorp; | 1361 | extern Lisp_Object Qchar_or_string_p, Qmarkerp, Qvectorp; |
| 1353 | extern Lisp_Object Qinteger_or_marker_p, Qnumber_or_marker_p; | 1362 | extern Lisp_Object Qinteger_or_marker_p, Qnumber_or_marker_p; |
| 1354 | extern Lisp_Object Qchar_table_p; | 1363 | extern Lisp_Object Qchar_table_p, Qvector_or_char_table_p; |
| 1355 | extern Lisp_Object Qboundp, Qfboundp; | 1364 | extern Lisp_Object Qboundp, Qfboundp; |
| 1356 | extern Lisp_Object Qbuffer_or_string_p; | 1365 | extern Lisp_Object Qbuffer_or_string_p; |
| 1357 | extern Lisp_Object Qcdr; | 1366 | extern Lisp_Object Qcdr; |
| @@ -1473,6 +1482,7 @@ extern Lisp_Object Fpurecopy (), make_pure_string (); | |||
| 1473 | extern Lisp_Object pure_cons (), make_pure_vector (); | 1482 | extern Lisp_Object pure_cons (), make_pure_vector (); |
| 1474 | extern Lisp_Object Fgarbage_collect (); | 1483 | extern Lisp_Object Fgarbage_collect (); |
| 1475 | extern Lisp_Object Fmake_byte_code (); | 1484 | extern Lisp_Object Fmake_byte_code (); |
| 1485 | extern Lisp_Object Qchar_table_extra_slots; | ||
| 1476 | extern struct Lisp_Vector *allocate_vectorlike (); | 1486 | extern struct Lisp_Vector *allocate_vectorlike (); |
| 1477 | extern int gc_in_progress; | 1487 | extern int gc_in_progress; |
| 1478 | 1488 | ||