comparison src/lisp.h @ 4998:b46c89ccbed3

Merge.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 06 Feb 2010 12:28:19 +0000
parents 3c3c1d139863 c17c857e20bf
children 714d854d00e9
comparison
equal deleted inserted replaced
4994:76af7fc13e81 4998:b46c89ccbed3
3031 #define DECLARE_INLINE_LISP_BIT_VECTOR(numbits) struct { \ 3031 #define DECLARE_INLINE_LISP_BIT_VECTOR(numbits) struct { \
3032 struct LCRECORD_HEADER lheader; \ 3032 struct LCRECORD_HEADER lheader; \
3033 Elemcount size; \ 3033 Elemcount size; \
3034 unsigned long bits[BIT_VECTOR_LONG_STORAGE(numbits)]; \ 3034 unsigned long bits[BIT_VECTOR_LONG_STORAGE(numbits)]; \
3035 } 3035 }
3036 /*---------------------- array, sequence -----------------------------*/
3037
3038 #define ARRAYP(x) (VECTORP (x) || STRINGP (x) || BIT_VECTORP (x))
3039
3040 #define CHECK_ARRAY(x) do { \
3041 if (!ARRAYP (x)) \
3042 dead_wrong_type_argument (Qarrayp, x); \
3043 } while (0)
3044
3045 #define CONCHECK_ARRAY(x) do { \
3046 if (!ARRAYP (x)) \
3047 x = wrong_type_argument (Qarrayp, x); \
3048 } while (0)
3049
3050 #define SEQUENCEP(x) (LISTP (x) || ARRAYP (x))
3051
3052 #define CHECK_SEQUENCE(x) do { \
3053 if (!SEQUENCEP (x)) \
3054 dead_wrong_type_argument (Qsequencep, x); \
3055 } while (0)
3056
3057 #define CONCHECK_SEQUENCE(x) do { \
3058 if (!SEQUENCEP (x)) \
3059 x = wrong_type_argument (Qsequencep, x); \
3060 } while (0)
3036 3061
3037 /*------------------------------ symbol --------------------------------*/ 3062 /*------------------------------ symbol --------------------------------*/
3038 3063
3039 typedef struct Lisp_Symbol Lisp_Symbol; 3064 typedef struct Lisp_Symbol Lisp_Symbol;
3040 struct Lisp_Symbol 3065 struct Lisp_Symbol
4377 MODULE_API EXFUN (Fexpand_abbrev, 0); 4402 MODULE_API EXFUN (Fexpand_abbrev, 0);
4378 4403
4379 /* Defined in alloc.c */ 4404 /* Defined in alloc.c */
4380 MODULE_API EXFUN (Fcons, 2); 4405 MODULE_API EXFUN (Fcons, 2);
4381 MODULE_API EXFUN (Flist, MANY); 4406 MODULE_API EXFUN (Flist, MANY);
4407 EXFUN (Fbit_vector, MANY);
4382 EXFUN (Fmake_byte_code, MANY); 4408 EXFUN (Fmake_byte_code, MANY);
4383 MODULE_API EXFUN (Fmake_list, 2); 4409 MODULE_API EXFUN (Fmake_list, 2);
4384 MODULE_API EXFUN (Fmake_string, 2); 4410 MODULE_API EXFUN (Fmake_string, 2);
4411 EXFUN (Fstring, MANY);
4385 MODULE_API EXFUN (Fmake_symbol, 1); 4412 MODULE_API EXFUN (Fmake_symbol, 1);
4386 MODULE_API EXFUN (Fmake_vector, 2); 4413 MODULE_API EXFUN (Fmake_vector, 2);
4387 MODULE_API EXFUN (Fvector, MANY); 4414 MODULE_API EXFUN (Fvector, MANY);
4388 4415
4389 #ifndef NEW_GC 4416 #ifndef NEW_GC
5223 MODULE_API EXFUN (Fequalp, 2); 5250 MODULE_API EXFUN (Fequalp, 2);
5224 EXFUN (Flast, 2); 5251 EXFUN (Flast, 2);
5225 EXFUN (Flax_plist_get, 3); 5252 EXFUN (Flax_plist_get, 3);
5226 EXFUN (Flax_plist_remprop, 2); 5253 EXFUN (Flax_plist_remprop, 2);
5227 MODULE_API EXFUN (Flength, 1); 5254 MODULE_API EXFUN (Flength, 1);
5228 EXFUN (Fmapcar, 2); 5255 EXFUN (FmapcarX, MANY);
5229 EXFUN (Fmember, 2); 5256 EXFUN (Fmember, 2);
5230 EXFUN (Fmemq, 2); 5257 EXFUN (Fmemq, 2);
5231 EXFUN (Fnconc, MANY); 5258 EXFUN (Fnconc, MANY);
5232 MODULE_API EXFUN (Fnreverse, 1); 5259 MODULE_API EXFUN (Fnreverse, 1);
5233 EXFUN (Fnthcdr, 2); 5260 EXFUN (Fnthcdr, 2);