# HG changeset patch # User Richard M. Stallman # Date 867092177 0 # Node ID 618cc7b75c069165cefe7f1f179d09801b6d1a4a # Parent 2de852dd72716e56a2b5f852306ebcef17f90b6f (Freverse): Simplify. diff -r 2de852dd7271 -r 618cc7b75c06 src/fns.c --- a/src/fns.c Mon Jun 23 17:53:11 1997 +0000 +++ b/src/fns.c Mon Jun 23 18:56:17 1997 +0000 @@ -882,17 +882,13 @@ (list) Lisp_Object list; { - Lisp_Object length; - register Lisp_Object *vec; - register Lisp_Object tail; - register int i; + Lisp_Object new; - length = Flength (list); - vec = (Lisp_Object *) alloca (XINT (length) * sizeof (Lisp_Object)); - for (i = XINT (length) - 1, tail = list; i >= 0; i--, tail = Fcdr (tail)) - vec[i] = Fcar (tail); - - return Flist (XINT (length), vec); + for (new = Qnil; CONSP (list); list = XCONS (list)->cdr) + new = Fcons (XCONS (list)->car, new); + if (!NILP (list)) + wrong_type_argument (Qconsp, list); + return new; } Lisp_Object merge ();