Mercurial > hg > xemacs-beta
diff src/lisp.h @ 4996:c17c857e20bf
Merge.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 03 Feb 2010 20:18:53 +0000 |
parents | 17362f371cc2 8431b52e43b1 |
children | b46c89ccbed3 |
line wrap: on
line diff
--- a/src/lisp.h Wed Feb 03 09:43:16 2010 -0700 +++ b/src/lisp.h Wed Feb 03 20:18:53 2010 +0000 @@ -2964,6 +2964,31 @@ Elemcount size; \ unsigned long bits[BIT_VECTOR_LONG_STORAGE(numbits)]; \ } +/*---------------------- array, sequence -----------------------------*/ + +#define ARRAYP(x) (VECTORP (x) || STRINGP (x) || BIT_VECTORP (x)) + +#define CHECK_ARRAY(x) do { \ + if (!ARRAYP (x)) \ + dead_wrong_type_argument (Qarrayp, x); \ +} while (0) + +#define CONCHECK_ARRAY(x) do { \ + if (!ARRAYP (x)) \ + x = wrong_type_argument (Qarrayp, x); \ +} while (0) + +#define SEQUENCEP(x) (LISTP (x) || ARRAYP (x)) + +#define CHECK_SEQUENCE(x) do { \ + if (!SEQUENCEP (x)) \ + dead_wrong_type_argument (Qsequencep, x); \ +} while (0) + +#define CONCHECK_SEQUENCE(x) do { \ + if (!SEQUENCEP (x)) \ + x = wrong_type_argument (Qsequencep, x); \ +} while (0) /*------------------------------ symbol --------------------------------*/ @@ -4226,9 +4251,11 @@ /* Defined in alloc.c */ MODULE_API EXFUN (Fcons, 2); MODULE_API EXFUN (Flist, MANY); +EXFUN (Fbit_vector, MANY); EXFUN (Fmake_byte_code, MANY); MODULE_API EXFUN (Fmake_list, 2); MODULE_API EXFUN (Fmake_string, 2); +EXFUN (Fstring, MANY); MODULE_API EXFUN (Fmake_symbol, 1); MODULE_API EXFUN (Fmake_vector, 2); MODULE_API EXFUN (Fvector, MANY); @@ -5055,7 +5082,7 @@ EXFUN (Flax_plist_get, 3); EXFUN (Flax_plist_remprop, 2); MODULE_API EXFUN (Flength, 1); -EXFUN (Fmapcar, 2); +EXFUN (FmapcarX, MANY); EXFUN (Fmember, 2); EXFUN (Fmemq, 2); EXFUN (Fnconc, MANY);