# HG changeset patch # User Karl Heuer # Date 784939531 0 # Node ID 4e6e0478baeffd15d6d001bdd5557d0a96f8954d # Parent c189487b08dd8d3c21524d79491dc1e14e7aaeaf (NATNUMP): New macro. (CHECK_NATNUM): Use that macro instead of its expansion. diff -r c189487b08dd -r 4e6e0478baef src/lisp.h --- a/src/lisp.h Tue Nov 15 21:44:10 1994 +0000 +++ b/src/lisp.h Tue Nov 15 22:45:31 1994 +0000 @@ -748,6 +748,7 @@ #else #define NUMBERP(x) (INTEGERP (x)) #endif +#define NATNUMP(x) (INTEGERP (x) && XINT (x) >= 0) #define INTEGERP(x) (XTYPE ((x)) == Lisp_Int) #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) @@ -829,8 +830,7 @@ do { if (!INTEGERP ((x))) x = wrong_type_argument (Qintegerp, (x)); } while (0) #define CHECK_NATNUM(x, i) \ - do { if (!INTEGERP ((x)) || XINT ((x)) < 0) \ - x = wrong_type_argument (Qwholenump, (x)); } while (0) + do { if (!NATNUMP (x)) x = wrong_type_argument (Qwholenump, (x)); } while (0) #define CHECK_MARKER(x, i) \ do { if (!MARKERP ((x))) x = wrong_type_argument (Qmarkerp, (x)); } while (0)