297 |
PVEC_BOOL_VECTOR = 0x10000, |
PVEC_BOOL_VECTOR = 0x10000, |
298 |
PVEC_BUFFER = 0x20000, |
PVEC_BUFFER = 0x20000, |
299 |
PVEC_HASH_TABLE = 0x40000, |
PVEC_HASH_TABLE = 0x40000, |
300 |
PVEC_TYPE_MASK = 0x7fe00 |
PVEC_SUB_CHAR_TABLE = 0x80000, |
301 |
|
PVEC_TYPE_MASK = 0x0ffe00 |
302 |
|
|
303 |
#if 0 /* This is used to make the value of PSEUDOVECTOR_FLAG available to |
#if 0 /* This is used to make the value of PSEUDOVECTOR_FLAG available to |
304 |
GDB. It doesn't work on OS Alpha. Moved to a variable in |
GDB. It doesn't work on OS Alpha. Moved to a variable in |
497 |
#define XSUBR(a) (eassert (GC_SUBRP(a)),(struct Lisp_Subr *) XPNTR(a)) |
#define XSUBR(a) (eassert (GC_SUBRP(a)),(struct Lisp_Subr *) XPNTR(a)) |
498 |
#define XBUFFER(a) (eassert (GC_BUFFERP(a)),(struct buffer *) XPNTR(a)) |
#define XBUFFER(a) (eassert (GC_BUFFERP(a)),(struct buffer *) XPNTR(a)) |
499 |
#define XCHAR_TABLE(a) ((struct Lisp_Char_Table *) XPNTR(a)) |
#define XCHAR_TABLE(a) ((struct Lisp_Char_Table *) XPNTR(a)) |
500 |
|
#define XSUB_CHAR_TABLE(a) ((struct Lisp_Sub_Char_Table *) XPNTR(a)) |
501 |
#define XBOOL_VECTOR(a) ((struct Lisp_Bool_Vector *) XPNTR(a)) |
#define XBOOL_VECTOR(a) ((struct Lisp_Bool_Vector *) XPNTR(a)) |
502 |
|
|
503 |
/* Construct a Lisp_Object from a value or address. */ |
/* Construct a Lisp_Object from a value or address. */ |
527 |
#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER)) |
#define XSETBUFFER(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BUFFER)) |
528 |
#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE)) |
#define XSETCHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_CHAR_TABLE)) |
529 |
#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BOOL_VECTOR)) |
#define XSETBOOL_VECTOR(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_BOOL_VECTOR)) |
530 |
|
#define XSETSUB_CHAR_TABLE(a, b) (XSETPSEUDOVECTOR (a, b, PVEC_SUB_CHAR_TABLE)) |
531 |
|
|
532 |
/* Convenience macros for dealing with Lisp arrays. */ |
/* Convenience macros for dealing with Lisp arrays. */ |
533 |
|
|
668 |
Lisp_Object contents[1]; |
Lisp_Object contents[1]; |
669 |
}; |
}; |
670 |
|
|
671 |
/* A char table is a kind of vectorlike, with contents are like a |
/* A char-table is a kind of vectorlike, with contents are like a |
672 |
vector but with a few other slots. For some purposes, it makes |
vector but with a few other slots. For some purposes, it makes |
673 |
sense to handle a chartable with type struct Lisp_Vector. An |
sense to handle a char-table with type struct Lisp_Vector. An |
674 |
element of a char table can be any Lisp objects, but if it is a sub |
element of a char table can be any Lisp objects, but if it is a sub |
675 |
char-table, we treat it a table that contains information of a |
char-table, we treat it a table that contains information of a |
676 |
group of characters of the same charsets or a specific character of |
specific range of characters. A sub char-table has the same |
677 |
a charset. A sub char-table has the same structure as a char table |
structure as a vector. A sub char table appears only in an element |
678 |
except for that the former omits several slots at the tail. A sub |
of a char-table, and there's no way to access it directly from |
679 |
char table appears only in an element of a char table, and there's |
Emacs Lisp program. */ |
|
no way to access it directly from Emacs Lisp program. */ |
|
|
|
|
|
/* This is the number of slots that apply to characters or character |
|
|
sets. The first 128 are for ASCII, the next 128 are for 8-bit |
|
|
European characters, and the last 128 are for multibyte characters. |
|
|
The first 256 are indexed by the code itself, but the last 128 are |
|
|
indexed by (charset-id + 128). */ |
|
|
#define CHAR_TABLE_ORDINARY_SLOTS 384 |
|
|
|
|
|
/* This is the number of slots that apply to characters of ASCII and |
|
|
8-bit Europeans only. */ |
|
|
#define CHAR_TABLE_SINGLE_BYTE_SLOTS 256 |
|
680 |
|
|
681 |
/* This is the number of slots that every char table must have. This |
/* This is the number of slots that every char table must have. This |
682 |
counts the ordinary slots and the top, defalt, parent, and purpose |
counts the ordinary slots and the top, defalt, parent, and purpose |
683 |
slots. */ |
slots. */ |
684 |
#define CHAR_TABLE_STANDARD_SLOTS (CHAR_TABLE_ORDINARY_SLOTS + 4) |
#define CHAR_TABLE_STANDARD_SLOTS (VECSIZE (struct Lisp_Char_Table) - 1) |
|
|
|
|
/* This is the number of slots that apply to position-code-1 and |
|
|
position-code-2 of a multibyte character at the 2nd and 3rd level |
|
|
sub char tables respectively. */ |
|
|
#define SUB_CHAR_TABLE_ORDINARY_SLOTS 128 |
|
|
|
|
|
/* This is the number of slots that every sub char table must have. |
|
|
This counts the ordinary slots and the top and defalt slot. */ |
|
|
#define SUB_CHAR_TABLE_STANDARD_SLOTS (SUB_CHAR_TABLE_ORDINARY_SLOTS + 2) |
|
685 |
|
|
686 |
/* Return the number of "extra" slots in the char table CT. */ |
/* Return the number of "extra" slots in the char table CT. */ |
687 |
|
|
689 |
(((CT)->size & PSEUDOVECTOR_SIZE_MASK) - CHAR_TABLE_STANDARD_SLOTS) |
(((CT)->size & PSEUDOVECTOR_SIZE_MASK) - CHAR_TABLE_STANDARD_SLOTS) |
690 |
|
|
691 |
/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII |
/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII |
692 |
and 8-bit Europeans characters. For these characters, do not check |
characters. Do not check validity of CT. */ |
693 |
validity of CT. Do not follow parent. */ |
#define CHAR_TABLE_REF(CT, IDX) \ |
694 |
#define CHAR_TABLE_REF(CT, IDX) \ |
((ASCII_CHAR_P (IDX) \ |
695 |
((IDX) >= 0 && (IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ |
&& SUB_CHAR_TABLE_P (XCHAR_TABLE (CT)->ascii) \ |
696 |
? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \ |
&& !NILP (XSUB_CHAR_TABLE (XCHAR_TABLE (CT)->ascii)->contents[IDX])) \ |
697 |
? XCHAR_TABLE (CT)->contents[IDX] \ |
? XSUB_CHAR_TABLE (XCHAR_TABLE (CT)->ascii)->contents[IDX] \ |
698 |
: XCHAR_TABLE (CT)->defalt) \ |
: char_table_ref ((CT), (IDX))) |
|
: Faref (CT, make_number (IDX))) |
|
699 |
|
|
700 |
/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII |
/* Almost equivalent to Faref (CT, IDX) with optimization for ASCII |
701 |
and 8-bit Europeans characters. However, if the result is nil, |
and 8-bit Europeans characters. However, if the result is nil, |
703 |
|
|
704 |
For these characters, do not check validity of CT |
For these characters, do not check validity of CT |
705 |
and do not follow parent. */ |
and do not follow parent. */ |
706 |
#define CHAR_TABLE_TRANSLATE(CT, IDX) \ |
#define CHAR_TABLE_TRANSLATE(CT, IDX) \ |
707 |
((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ |
char_table_translate (CT, IDX) |
|
? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \ |
|
|
? XINT (XCHAR_TABLE (CT)->contents[IDX]) \ |
|
|
: IDX) \ |
|
|
: char_table_translate (CT, IDX)) |
|
708 |
|
|
709 |
/* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and |
/* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and |
710 |
8-bit Europeans characters. Do not check validity of CT. */ |
8-bit European characters. Do not check validity of CT. */ |
711 |
#define CHAR_TABLE_SET(CT, IDX, VAL) \ |
#define CHAR_TABLE_SET(CT, IDX, VAL) \ |
712 |
do { \ |
(((IDX) >= 0 && ASCII_CHAR_P (IDX) \ |
713 |
if (XFASTINT (IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS) \ |
&& SUB_CHAR_TABLE_P (XCHAR_TABLE (CT)->ascii)) \ |
714 |
XCHAR_TABLE (CT)->contents[XFASTINT (IDX)] = VAL; \ |
? XSUB_CHAR_TABLE (XCHAR_TABLE (CT)->ascii)->contents[IDX] = VAL \ |
715 |
else \ |
: char_table_set (CT, IDX, VAL)) |
716 |
Faset (CT, IDX, VAL); \ |
|
717 |
} while (0) |
#define CHARTAB_SIZE_BITS_0 6 |
718 |
|
#define CHARTAB_SIZE_BITS_1 4 |
719 |
|
#define CHARTAB_SIZE_BITS_2 5 |
720 |
|
#define CHARTAB_SIZE_BITS_3 7 |
721 |
|
|
722 |
|
extern const int chartab_size[4]; |
723 |
|
|
724 |
|
struct Lisp_Sub_Char_Table; |
725 |
|
|
726 |
struct Lisp_Char_Table |
struct Lisp_Char_Table |
727 |
{ |
{ |
728 |
/* This is the vector's size field, which also holds the |
/* This is the vector's size field, which also holds the |
729 |
pseudovector type information. It holds the size, too. |
pseudovector type information. It holds the size, too. The size |
730 |
The size counts the top, defalt, purpose, and parent slots. |
counts the defalt, parent, purpose, ascii, contents, and extras |
731 |
The last three are not counted if this is a sub char table. */ |
slots. */ |
732 |
EMACS_INT size; |
EMACS_INT size; |
733 |
struct Lisp_Vector *next; |
struct Lisp_Vector *next; |
734 |
/* This holds a flag to tell if this is a top level char table (t) |
|
|
or a sub char table (nil). */ |
|
|
Lisp_Object top; |
|
735 |
/* This holds a default value, |
/* This holds a default value, |
736 |
which is used whenever the value for a specific character is nil. */ |
which is used whenever the value for a specific character is nil. */ |
737 |
Lisp_Object defalt; |
Lisp_Object defalt; |
738 |
/* This holds an actual value of each element. A sub char table |
|
739 |
has only SUB_CHAR_TABLE_ORDINARY_SLOTS number of elements. */ |
/* This points to another char table, which we inherit from when the |
740 |
Lisp_Object contents[CHAR_TABLE_ORDINARY_SLOTS]; |
value for a specific character is nil. The `defalt' slot takes |
741 |
|
precedence over this. */ |
|
/* A sub char table doesn't has the following slots. */ |
|
|
|
|
|
/* This points to another char table, which we inherit from |
|
|
when the value for a specific character is nil. |
|
|
The `defalt' slot takes precedence over this. */ |
|
742 |
Lisp_Object parent; |
Lisp_Object parent; |
743 |
/* This should be a symbol which says what kind of use |
|
744 |
this char-table is meant for. |
/* This is a symbol which says what kind of use this char-table is |
745 |
Typically now the values can be `syntax-table' and `display-table'. */ |
meant for. */ |
746 |
Lisp_Object purpose; |
Lisp_Object purpose; |
747 |
/* These hold additional data. */ |
|
748 |
|
/* The bottom sub char-table for characters of the range 0..127. It |
749 |
|
is nil if none of ASCII character has a specific value. */ |
750 |
|
Lisp_Object ascii; |
751 |
|
|
752 |
|
Lisp_Object contents[(1 << CHARTAB_SIZE_BITS_0)]; |
753 |
|
|
754 |
|
/* These hold additional data. It is a vector. */ |
755 |
Lisp_Object extras[1]; |
Lisp_Object extras[1]; |
756 |
}; |
}; |
757 |
|
|
758 |
|
struct Lisp_Sub_Char_Table |
759 |
|
{ |
760 |
|
/* This is the vector's size field, which also holds the |
761 |
|
pseudovector type information. It holds the size, too. */ |
762 |
|
EMACS_INT size; |
763 |
|
struct Lisp_Vector *next; |
764 |
|
|
765 |
|
/* Depth of this sub char-table. It should be 1, 2, or 3. A sub |
766 |
|
char-table of depth 1 contains 16 elments, and each element |
767 |
|
covers 4096 (128*32) characters. A sub char-table of depth 2 |
768 |
|
contains 32 elements, and each element covers 128 characters. A |
769 |
|
sub char-table of depth 3 contains 128 elements, and each element |
770 |
|
is for one character. */ |
771 |
|
Lisp_Object depth; |
772 |
|
|
773 |
|
/* Minimum character covered by the sub char-table. */ |
774 |
|
Lisp_Object min_char; |
775 |
|
|
776 |
|
Lisp_Object contents[1]; |
777 |
|
}; |
778 |
|
|
779 |
/* A boolvector is a kind of vectorlike, with contents are like a string. */ |
/* A boolvector is a kind of vectorlike, with contents are like a string. */ |
780 |
struct Lisp_Bool_Vector |
struct Lisp_Bool_Vector |
781 |
{ |
{ |
1269 |
(CHAR_ALT | CHAR_SUPER | CHAR_HYPER | CHAR_SHIFT | CHAR_CTL | CHAR_META) |
(CHAR_ALT | CHAR_SUPER | CHAR_HYPER | CHAR_SHIFT | CHAR_CTL | CHAR_META) |
1270 |
|
|
1271 |
|
|
1272 |
/* Actually, the current Emacs uses 19 bits for the character value |
/* Actually, the current Emacs uses 22 bits for the character value |
1273 |
itself. */ |
itself. */ |
1274 |
#define CHARACTERBITS 19 |
#define CHARACTERBITS 2 |
1275 |
|
|
1276 |
/* The maximum byte size consumed by push_key_description. |
/* The maximum byte size consumed by push_key_description. |
1277 |
All callers should assure that at least this size of memory is |
All callers should assure that at least this size of memory is |
1327 |
#define GLYPH int |
#define GLYPH int |
1328 |
|
|
1329 |
/* Mask bits for face. */ |
/* Mask bits for face. */ |
1330 |
#define GLYPH_MASK_FACE 0x7FF80000 |
#define GLYPH_MASK_FACE 0x7FC00000 |
1331 |
/* Mask bits for character code. */ |
/* Mask bits for character code. */ |
1332 |
#define GLYPH_MASK_CHAR 0x0007FFFF /* The lowest 19 bits */ |
#define GLYPH_MASK_CHAR 0x003FFFFF /* The lowest 22 bits */ |
1333 |
|
|
1334 |
/* The FAST macros assume that we already know we're in an X window. */ |
/* The FAST macros assume that we already know we're in an X window. */ |
1335 |
|
|
1427 |
#define BUFFERP(x) PSEUDOVECTORP (x, PVEC_BUFFER) |
#define BUFFERP(x) PSEUDOVECTORP (x, PVEC_BUFFER) |
1428 |
#define GC_BUFFERP(x) GC_PSEUDOVECTORP (x, PVEC_BUFFER) |
#define GC_BUFFERP(x) GC_PSEUDOVECTORP (x, PVEC_BUFFER) |
1429 |
#define CHAR_TABLE_P(x) PSEUDOVECTORP (x, PVEC_CHAR_TABLE) |
#define CHAR_TABLE_P(x) PSEUDOVECTORP (x, PVEC_CHAR_TABLE) |
1430 |
|
#define SUB_CHAR_TABLE_P(x) PSEUDOVECTORP (x, PVEC_SUB_CHAR_TABLE) |
1431 |
|
#define GC_SUB_CHAR_TABLE_P(x) GC_PSEUDOVECTORP (x, PVEC_SUB_CHAR_TABLE) |
1432 |
#define GC_CHAR_TABLE_P(x) GC_PSEUDOVECTORP (x, PVEC_CHAR_TABLE) |
#define GC_CHAR_TABLE_P(x) GC_PSEUDOVECTORP (x, PVEC_CHAR_TABLE) |
1433 |
#define BOOL_VECTOR_P(x) PSEUDOVECTORP (x, PVEC_BOOL_VECTOR) |
#define BOOL_VECTOR_P(x) PSEUDOVECTORP (x, PVEC_BOOL_VECTOR) |
1434 |
#define GC_BOOL_VECTOR_P(x) GC_PSEUDOVECTORP (x, PVEC_BOOL_VECTOR) |
#define GC_BOOL_VECTOR_P(x) GC_PSEUDOVECTORP (x, PVEC_BOOL_VECTOR) |
1435 |
#define FRAMEP(x) PSEUDOVECTORP (x, PVEC_FRAME) |
#define FRAMEP(x) PSEUDOVECTORP (x, PVEC_FRAME) |
1436 |
#define GC_FRAMEP(x) GC_PSEUDOVECTORP (x, PVEC_FRAME) |
#define GC_FRAMEP(x) GC_PSEUDOVECTORP (x, PVEC_FRAME) |
1437 |
|
|
|
#define SUB_CHAR_TABLE_P(x) (CHAR_TABLE_P (x) && NILP (XCHAR_TABLE (x)->top)) |
|
1438 |
|
|
1439 |
#define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) |
#define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) |
1440 |
#define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) |
#define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) |
1536 |
XSETCDR ((x), tmp); \ |
XSETCDR ((x), tmp); \ |
1537 |
} while (0) |
} while (0) |
1538 |
|
|
1539 |
|
#define CHECK_NATNUM_CAR(x) \ |
1540 |
|
do { \ |
1541 |
|
Lisp_Object tmp = XCAR (x); \ |
1542 |
|
CHECK_NATNUM (tmp); \ |
1543 |
|
XSETCAR ((x), tmp); \ |
1544 |
|
} while (0) |
1545 |
|
|
1546 |
|
#define CHECK_NATNUM_CDR(x) \ |
1547 |
|
do { \ |
1548 |
|
Lisp_Object tmp = XCDR (x); \ |
1549 |
|
CHECK_NATNUM (tmp); \ |
1550 |
|
XSETCDR ((x), tmp); \ |
1551 |
|
} while (0) |
1552 |
|
|
1553 |
/* Cast pointers to this type to compare them. Some machines want int. */ |
/* Cast pointers to this type to compare them. Some machines want int. */ |
1554 |
#ifndef PNTR_COMPARISON_TYPE |
#ifndef PNTR_COMPARISON_TYPE |
1555 |
#define PNTR_COMPARISON_TYPE EMACS_UINT |
#define PNTR_COMPARISON_TYPE EMACS_UINT |
2152 |
EXFUN (Fread_non_nil_coding_system, 1); |
EXFUN (Fread_non_nil_coding_system, 1); |
2153 |
EXFUN (Ffind_operation_coding_system, MANY); |
EXFUN (Ffind_operation_coding_system, MANY); |
2154 |
EXFUN (Fupdate_coding_systems_internal, 0); |
EXFUN (Fupdate_coding_systems_internal, 0); |
2155 |
EXFUN (Fencode_coding_string, 3); |
EXFUN (Fencode_coding_string, 4); |
2156 |
EXFUN (Fdecode_coding_string, 3); |
EXFUN (Fdecode_coding_string, 4); |
2157 |
extern Lisp_Object detect_coding_system P_ ((const unsigned char *, int, int, |
extern Lisp_Object detect_coding_system P_ ((const unsigned char *, int, int, |
2158 |
int)); |
int, Lisp_Object)); |
2159 |
extern void init_coding P_ ((void)); |
extern void init_coding P_ ((void)); |
2160 |
extern void init_coding_once P_ ((void)); |
extern void init_coding_once P_ ((void)); |
2161 |
extern void syms_of_coding P_ ((void)); |
extern void syms_of_coding P_ ((void)); |
2162 |
extern Lisp_Object code_convert_string_norecord P_ ((Lisp_Object, Lisp_Object, |
|
2163 |
int)); |
/* Defined in character.c */ |
2164 |
|
extern void init_character_once P_ ((void)); |
2165 |
|
extern void syms_of_character P_ ((void)); |
2166 |
|
|
2167 |
/* Defined in charset.c */ |
/* Defined in charset.c */ |
|
extern EMACS_INT nonascii_insert_offset; |
|
|
extern Lisp_Object Vnonascii_translation_table; |
|
2168 |
EXFUN (Fchar_bytes, 1); |
EXFUN (Fchar_bytes, 1); |
2169 |
EXFUN (Fchar_width, 1); |
EXFUN (Fchar_width, 1); |
2170 |
EXFUN (Fstring, MANY); |
EXFUN (Fstring, MANY); |
2171 |
extern int chars_in_text P_ ((const unsigned char *, int)); |
extern int chars_in_text P_ ((const unsigned char *, int)); |
2172 |
extern int multibyte_chars_in_text P_ ((const unsigned char *, int)); |
extern int multibyte_chars_in_text P_ ((const unsigned char *, int)); |
|
extern int unibyte_char_to_multibyte P_ ((int)); |
|
2173 |
extern int multibyte_char_to_unibyte P_ ((int, Lisp_Object)); |
extern int multibyte_char_to_unibyte P_ ((int, Lisp_Object)); |
2174 |
extern Lisp_Object Qcharset; |
extern Lisp_Object Qcharset; |
2175 |
|
extern void init_charset P_ ((void)); |
2176 |
extern void init_charset_once P_ ((void)); |
extern void init_charset_once P_ ((void)); |
2177 |
extern void syms_of_charset P_ ((void)); |
extern void syms_of_charset P_ ((void)); |
2178 |
|
/* Structure forward declarations. */ |
2179 |
|
struct charset; |
2180 |
|
|
2181 |
|
/* Defined in composite.c */ |
2182 |
|
extern void syms_of_composite P_ ((void)); |
2183 |
|
|
2184 |
/* Defined in syntax.c */ |
/* Defined in syntax.c */ |
2185 |
EXFUN (Fforward_word, 1); |
EXFUN (Fforward_word, 1); |
2197 |
extern Lisp_Object larger_vector P_ ((Lisp_Object, int, Lisp_Object)); |
extern Lisp_Object larger_vector P_ ((Lisp_Object, int, Lisp_Object)); |
2198 |
extern void sweep_weak_hash_tables P_ ((void)); |
extern void sweep_weak_hash_tables P_ ((void)); |
2199 |
extern Lisp_Object Qstring_lessp; |
extern Lisp_Object Qstring_lessp; |
|
EXFUN (Foptimize_char_table, 1); |
|
2200 |
extern Lisp_Object Vfeatures; |
extern Lisp_Object Vfeatures; |
2201 |
extern Lisp_Object QCtest, QCweakness, Qequal; |
extern Lisp_Object QCtest, QCweakness, Qequal, Qeq; |
2202 |
unsigned sxhash P_ ((Lisp_Object, int)); |
unsigned sxhash P_ ((Lisp_Object, int)); |
2203 |
Lisp_Object make_hash_table P_ ((Lisp_Object, Lisp_Object, Lisp_Object, |
Lisp_Object make_hash_table P_ ((Lisp_Object, Lisp_Object, Lisp_Object, |
2204 |
Lisp_Object, Lisp_Object, Lisp_Object, |
Lisp_Object, Lisp_Object, Lisp_Object, |
2213 |
extern void init_fns P_ ((void)); |
extern void init_fns P_ ((void)); |
2214 |
EXFUN (Fsxhash, 1); |
EXFUN (Fsxhash, 1); |
2215 |
EXFUN (Fmake_hash_table, MANY); |
EXFUN (Fmake_hash_table, MANY); |
2216 |
|
EXFUN (Fmakehash, 1); |
2217 |
EXFUN (Fcopy_hash_table, 1); |
EXFUN (Fcopy_hash_table, 1); |
2218 |
EXFUN (Fhash_table_count, 1); |
EXFUN (Fhash_table_count, 1); |
2219 |
EXFUN (Fhash_table_rehash_size, 1); |
EXFUN (Fhash_table_rehash_size, 1); |
2280 |
EXFUN (Fplist_get, 2); |
EXFUN (Fplist_get, 2); |
2281 |
EXFUN (Fplist_put, 3); |
EXFUN (Fplist_put, 3); |
2282 |
EXFUN (Fplist_member, 2); |
EXFUN (Fplist_member, 2); |
|
EXFUN (Fset_char_table_parent, 2); |
|
|
EXFUN (Fchar_table_extra_slot, 2); |
|
|
EXFUN (Fset_char_table_extra_slot, 3); |
|
2283 |
EXFUN (Frassoc, 2); |
EXFUN (Frassoc, 2); |
2284 |
EXFUN (Fstring_equal, 2); |
EXFUN (Fstring_equal, 2); |
2285 |
EXFUN (Fcompare_strings, 7); |
EXFUN (Fcompare_strings, 7); |
2286 |
EXFUN (Fstring_lessp, 2); |
EXFUN (Fstring_lessp, 2); |
|
extern int char_table_translate P_ ((Lisp_Object, int)); |
|
|
extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object), |
|
|
Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object, int, |
|
|
Lisp_Object *)); |
|
|
extern Lisp_Object char_table_ref_and_index P_ ((Lisp_Object, int, int *)); |
|
2287 |
extern void syms_of_fns P_ ((void)); |
extern void syms_of_fns P_ ((void)); |
2288 |
|
|
2289 |
/* Defined in floatfns.c */ |
/* Defined in floatfns.c */ |
2306 |
extern void insert_and_inherit P_ ((const unsigned char *, int)); |
extern void insert_and_inherit P_ ((const unsigned char *, int)); |
2307 |
extern void insert_1 P_ ((const unsigned char *, int, int, int, int)); |
extern void insert_1 P_ ((const unsigned char *, int, int, int, int)); |
2308 |
extern void insert_1_both P_ ((const unsigned char *, int, int, int, int, int)); |
extern void insert_1_both P_ ((const unsigned char *, int, int, int, int, int)); |
2309 |
|
extern void insert_from_gap P_ ((int, int)); |
2310 |
extern void insert_from_string P_ ((Lisp_Object, int, int, int, int, int)); |
extern void insert_from_string P_ ((Lisp_Object, int, int, int, int, int)); |
2311 |
extern void insert_from_buffer P_ ((struct buffer *, int, int, int)); |
extern void insert_from_buffer P_ ((struct buffer *, int, int, int)); |
2312 |
extern void insert_char P_ ((int)); |
extern void insert_char P_ ((int)); |
2429 |
EXFUN (Fgarbage_collect, 0); |
EXFUN (Fgarbage_collect, 0); |
2430 |
EXFUN (Fmake_byte_code, MANY); |
EXFUN (Fmake_byte_code, MANY); |
2431 |
EXFUN (Fmake_bool_vector, 2); |
EXFUN (Fmake_bool_vector, 2); |
|
EXFUN (Fmake_char_table, 2); |
|
|
extern Lisp_Object make_sub_char_table P_ ((Lisp_Object)); |
|
2432 |
extern Lisp_Object Qchar_table_extra_slots; |
extern Lisp_Object Qchar_table_extra_slots; |
2433 |
extern struct Lisp_Vector *allocate_vector P_ ((EMACS_INT)); |
extern struct Lisp_Vector *allocate_vector P_ ((EMACS_INT)); |
2434 |
extern struct Lisp_Vector *allocate_other_vector P_ ((EMACS_INT)); |
extern struct Lisp_Vector *allocate_other_vector P_ ((EMACS_INT)); |
2449 |
extern void syms_of_alloc P_ ((void)); |
extern void syms_of_alloc P_ ((void)); |
2450 |
extern struct buffer * allocate_buffer P_ ((void)); |
extern struct buffer * allocate_buffer P_ ((void)); |
2451 |
|
|
2452 |
|
/* Defined in chartab.c */ |
2453 |
|
EXFUN (Fmake_char_table, 2); |
2454 |
|
EXFUN (Fchar_table_parent, 1); |
2455 |
|
EXFUN (Fset_char_table_parent, 2); |
2456 |
|
EXFUN (Fchar_table_extra_slot, 2); |
2457 |
|
EXFUN (Fset_char_table_extra_slot, 3); |
2458 |
|
EXFUN (Fchar_table_range, 2); |
2459 |
|
EXFUN (Fset_char_table_range, 3); |
2460 |
|
EXFUN (Fset_char_table_default, 3); |
2461 |
|
EXFUN (Foptimize_char_table, 1); |
2462 |
|
EXFUN (Fmap_char_table, 2); |
2463 |
|
extern Lisp_Object copy_char_table P_ ((Lisp_Object)); |
2464 |
|
extern Lisp_Object sub_char_table_ref P_ ((Lisp_Object, int)); |
2465 |
|
extern Lisp_Object char_table_ref P_ ((Lisp_Object, int)); |
2466 |
|
extern Lisp_Object char_table_ref_and_range P_ ((Lisp_Object, int, |
2467 |
|
int *, int *)); |
2468 |
|
extern Lisp_Object char_table_set P_ ((Lisp_Object, int, Lisp_Object)); |
2469 |
|
extern Lisp_Object char_table_set_range P_ ((Lisp_Object, int, int, |
2470 |
|
Lisp_Object)); |
2471 |
|
extern int char_table_translate P_ ((Lisp_Object, int)); |
2472 |
|
extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, |
2473 |
|
Lisp_Object), |
2474 |
|
Lisp_Object, Lisp_Object, Lisp_Object)); |
2475 |
|
extern void syms_of_chartab P_ ((void)); |
2476 |
|
|
2477 |
/* Defined in print.c */ |
/* Defined in print.c */ |
2478 |
extern Lisp_Object Vprin1_to_string_buffer; |
extern Lisp_Object Vprin1_to_string_buffer; |
2479 |
extern void debug_print P_ ((Lisp_Object)); |
extern void debug_print P_ ((Lisp_Object)); |
2680 |
extern Lisp_Object Vbuffer_alist, Vinhibit_read_only; |
extern Lisp_Object Vbuffer_alist, Vinhibit_read_only; |
2681 |
EXFUN (Fget_buffer, 1); |
EXFUN (Fget_buffer, 1); |
2682 |
EXFUN (Fget_buffer_create, 1); |
EXFUN (Fget_buffer_create, 1); |
2683 |
|
EXFUN (Fgenerate_new_buffer_name, 2); |
2684 |
EXFUN (Fset_buffer, 1); |
EXFUN (Fset_buffer, 1); |
2685 |
EXFUN (set_buffer_if_live, 1); |
EXFUN (set_buffer_if_live, 1); |
2686 |
EXFUN (Fbarf_if_buffer_read_only, 0); |
EXFUN (Fbarf_if_buffer_read_only, 0); |
3005 |
EXFUN (Fnext_single_property_change, 4); |
EXFUN (Fnext_single_property_change, 4); |
3006 |
EXFUN (Fnext_single_char_property_change, 4); |
EXFUN (Fnext_single_char_property_change, 4); |
3007 |
EXFUN (Fprevious_single_property_change, 4); |
EXFUN (Fprevious_single_property_change, 4); |
3008 |
|
EXFUN (Fget_text_property, 3); |
3009 |
EXFUN (Fput_text_property, 5); |
EXFUN (Fput_text_property, 5); |
3010 |
EXFUN (Fprevious_char_property_change, 2); |
EXFUN (Fprevious_char_property_change, 2); |
3011 |
EXFUN (Fnext_char_property_change, 2); |
EXFUN (Fnext_char_property_change, 2); |
3062 |
|
|
3063 |
/* Defined in category.c */ |
/* Defined in category.c */ |
3064 |
extern void init_category_once P_ ((void)); |
extern void init_category_once P_ ((void)); |
3065 |
|
extern Lisp_Object char_category_set P_ ((int)); |
3066 |
extern void syms_of_category P_ ((void)); |
extern void syms_of_category P_ ((void)); |
3067 |
|
|
3068 |
/* Defined in ccl.c */ |
/* Defined in ccl.c */ |
3079 |
#ifdef HAVE_X_WINDOWS |
#ifdef HAVE_X_WINDOWS |
3080 |
/* Defined in fontset.c */ |
/* Defined in fontset.c */ |
3081 |
extern void syms_of_fontset P_ ((void)); |
extern void syms_of_fontset P_ ((void)); |
3082 |
EXFUN (Fset_fontset_font, 4); |
EXFUN (Fset_fontset_font, 5); |
3083 |
|
EXFUN (Fnew_fontset, 2); |
3084 |
#endif |
#endif |
3085 |
|
|
3086 |
/* Defined in xfaces.c */ |
/* Defined in xfaces.c */ |