From: Richard M. Stallman Date: Mon, 23 Jun 1997 18:56:17 +0000 (+0000) Subject: (Freverse): Simplify. X-Git-Tag: emacs-20.1~1525 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9d14ae763f967c44dfc99ffc4a86ed88cf6f2c48;p=emacs.git (Freverse): Simplify. --- diff --git a/src/fns.c b/src/fns.c index d8f51afbde0..9e8a15d5578 100644 --- a/src/fns.c +++ b/src/fns.c @@ -882,17 +882,13 @@ See also the function `nreverse', which is used more often.") (list) Lisp_Object list; { - Lisp_Object length; - register Lisp_Object *vec; - register Lisp_Object tail; - register int i; - - 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); + Lisp_Object new; - 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 ();