emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/lisp.h,v


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/src/lisp.h,v
Date: Wed, 13 Feb 2008 22:39:31 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Stefan Monnier <monnier>        08/02/13 22:39:31

Index: lisp.h
===================================================================
RCS file: /sources/emacs/emacs/src/lisp.h,v
retrieving revision 1.612
retrieving revision 1.613
diff -u -b -r1.612 -r1.613
--- lisp.h      13 Feb 2008 15:10:56 -0000      1.612
+++ lisp.h      13 Feb 2008 22:39:30 -0000      1.613
@@ -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));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]