Mercurial > emacs
changeset 91822:311ffbbfa909
Undo last mistakenly commited change.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 13 Feb 2008 22:39:30 +0000 |
parents | 4ab3a4d4cc4e |
children | 16c762b4c605 |
files | src/lisp.h |
diffstat | 1 files changed, 11 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lisp.h Wed Feb 13 22:26:33 2008 +0000 +++ b/src/lisp.h Wed Feb 13 22:39:30 2008 +0000 @@ -588,17 +588,13 @@ /* Convenience macros for dealing with Lisp arrays. */ -#define ASLOT(ARRAY, IDX) XVECTOR ((ARRAY))->contents[IDX] +#define AREF(ARRAY, IDX) XVECTOR ((ARRAY))->contents[IDX] #define ASIZE(ARRAY) XVECTOR ((ARRAY))->size -/* The IDX==IDX checks that the macro argument is not side-effecting. */ -#define AREF(ARRAY, IDX) \ - (eassert ((IDX) == (IDX)), \ - eassert ((IDX) >= 0 && (IDX) < ASIZE (ARRAY)), \ - ASLOT (ARRAY, (IDX))) +/* The IDX==IDX tries to detect when the macro argument is side-effecting. */ #define ASET(ARRAY, IDX, VAL) \ (eassert ((IDX) == (IDX)), \ eassert ((IDX) >= 0 && (IDX) < ASIZE (ARRAY)), \ - ASLOT ((ARRAY), (IDX)) = (VAL)) + AREF ((ARRAY), (IDX)) = (VAL)) /* Convenience macros for dealing with Lisp strings. */ @@ -690,12 +686,12 @@ #define CAR(c) \ (CONSP ((c)) ? XCAR ((c)) \ : NILP ((c)) ? Qnil \ - : (wrong_type_argument (Qlistp, (c)), Qnil)) + : wrong_type_argument (Qlistp, (c))) #define CDR(c) \ (CONSP ((c)) ? XCDR ((c)) \ : NILP ((c)) ? Qnil \ - : (wrong_type_argument (Qlistp, (c)), Qnil)) + : wrong_type_argument (Qlistp, (c))) /* Take the car or cdr of something whose type is not known. */ #define CAR_SAFE(c) \ @@ -1094,25 +1090,25 @@ /* Value is the key part of entry IDX in hash table H. */ -#define HASH_KEY(H, IDX) ASLOT ((H)->key_and_value, 2 * (IDX)) +#define HASH_KEY(H, IDX) AREF ((H)->key_and_value, 2 * (IDX)) /* Value is the value part of entry IDX in hash table H. */ -#define HASH_VALUE(H, IDX) ASLOT ((H)->key_and_value, 2 * (IDX) + 1) +#define HASH_VALUE(H, IDX) AREF ((H)->key_and_value, 2 * (IDX) + 1) /* Value is the index of the next entry following the one at IDX in hash table H. */ -#define HASH_NEXT(H, IDX) ASLOT ((H)->next, (IDX)) +#define HASH_NEXT(H, IDX) AREF ((H)->next, (IDX)) /* Value is the hash code computed for entry IDX in hash table H. */ -#define HASH_HASH(H, IDX) ASLOT ((H)->hash, (IDX)) +#define HASH_HASH(H, IDX) AREF ((H)->hash, (IDX)) /* Value is the index of the element in hash table H that is the start of the collision list at index IDX in the index vector of H. */ -#define HASH_INDEX(H, IDX) ASLOT ((H)->index, (IDX)) +#define HASH_INDEX(H, IDX) AREF ((H)->index, (IDX)) /* Value is the size of hash table H. */ @@ -2256,7 +2252,7 @@ extern void args_out_of_range P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; extern void args_out_of_range_3 P_ ((Lisp_Object, Lisp_Object, Lisp_Object)) NO_RETURN; -extern void wrong_type_argument P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; +extern Lisp_Object wrong_type_argument P_ ((Lisp_Object, Lisp_Object)) NO_RETURN; extern void store_symval_forwarding P_ ((Lisp_Object, Lisp_Object, Lisp_Object, struct buffer *)); extern Lisp_Object do_symval_forwarding P_ ((Lisp_Object));