Mercurial > hg > xemacs-beta
diff src/alloc.c @ 165:5a88923fcbfe r20-3b9
Import from CVS: tag r20-3b9
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:44:42 +0200 |
parents | 0132846995bd |
children | 15872534500d |
line wrap: on
line diff
--- a/src/alloc.c Mon Aug 13 09:43:39 2007 +0200 +++ b/src/alloc.c Mon Aug 13 09:44:42 2007 +0200 @@ -39,6 +39,7 @@ #include <config.h> #include "lisp.h" +#include "sysdep.h" #ifndef standalone #include "backtrace.h" @@ -179,10 +180,10 @@ static long pureptr; #define PURIFIED(ptr) \ - ((PNTR_COMPARISON_TYPE) (ptr) < \ - (PNTR_COMPARISON_TYPE) (PUREBEG + PURESIZE) && \ - (PNTR_COMPARISON_TYPE) (ptr) >= \ - (PNTR_COMPARISON_TYPE) PUREBEG) + ((uintptr_t) (ptr) < \ + (uintptr_t) (PUREBEG + PURESIZE) && \ + (uintptr_t) (ptr) >= \ + (uintptr_t) PUREBEG) /* Non-zero if pureptr > PURESIZE; accounts for excess purespace needs. */ static long pure_lossage; @@ -1025,16 +1026,11 @@ */ (int nargs, Lisp_Object *args)) { - Lisp_Object len, val, val_tail; - - len = make_int (nargs); - val = Fmake_list (len, Qnil); - val_tail = val; - while (!NILP (val_tail)) - { - XCAR (val_tail) = *args++; - val_tail = XCDR (val_tail); - } + Lisp_Object val = Qnil; + Lisp_Object *argp = args + nargs; + + while (nargs-- > 0) + val = Fcons (*--argp, val); return val; }