/[emacs]/emacs/src/lisp.h
ViewVC logotype

Diff of /emacs/src/lisp.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.465 by schwab, Fri Jul 11 09:05:47 2003 UTC revision 1.465.2.1 by handa, Mon Sep 8 12:48:11 2003 UTC
# Line 297  enum pvec_type Line 297  enum pvec_type
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
# Line 496  extern size_t pure_size; Line 497  extern size_t pure_size;
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.  */
# Line 525  extern size_t pure_size; Line 527  extern size_t pure_size;
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    
# Line 665  struct Lisp_Vector Line 668  struct Lisp_Vector
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    
# Line 707  struct Lisp_Vector Line 689  struct Lisp_Vector
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,
# Line 722  struct Lisp_Vector Line 703  struct Lisp_Vector
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    {    {
# Line 1264  typedef unsigned char UCHAR; Line 1269  typedef unsigned char UCHAR;
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
# Line 1322  typedef unsigned char UCHAR; Line 1327  typedef unsigned char UCHAR;
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    
# Line 1422  typedef unsigned char UCHAR; Line 1427  typedef unsigned char UCHAR;
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))
# Line 1530  typedef unsigned char UCHAR; Line 1536  typedef unsigned char UCHAR;
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
# Line 2132  EXFUN (Fread_coding_system, 2); Line 2152  EXFUN (Fread_coding_system, 2);
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);
# Line 2172  extern int next_almost_prime P_ ((int)); Line 2197  extern int next_almost_prime P_ ((int));
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,
# Line 2189  void remove_hash_entry P_ ((struct Lisp_ Line 2213  void remove_hash_entry P_ ((struct Lisp_
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);
# Line 2255  EXFUN (Fcopy_alist, 1); Line 2280  EXFUN (Fcopy_alist, 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 */
# Line 2289  extern void insert P_ ((const unsigned c Line 2306  extern void insert P_ ((const unsigned 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));
# Line 2411  extern Lisp_Object make_pure_vector P_ ( Line 2429  extern Lisp_Object make_pure_vector P_ (
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));
# Line 2433  extern void init_alloc P_ ((void)); Line 2449  extern void init_alloc P_ ((void));
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));
# Line 2639  extern int overlay_touches_p P_ ((int)); Line 2680  extern int overlay_touches_p P_ ((int));
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);
# Line 2963  extern Lisp_Object Qinsert_in_front_hook Line 3005  extern Lisp_Object Qinsert_in_front_hook
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);
# Line 3019  extern void init_sound P_ ((void)); Line 3062  extern void init_sound P_ ((void));
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 */
# Line 3035  extern void fatal () NO_RETURN; Line 3079  extern void fatal () NO_RETURN;
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 */

Legend:
Removed from v.1.465  
changed lines
  Added in v.1.465.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26