]> git.eshelyaron.com Git - emacs.git/commitdiff
(Freverse): Simplify.
authorRichard M. Stallman <rms@gnu.org>
Mon, 23 Jun 1997 18:56:17 +0000 (18:56 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 23 Jun 1997 18:56:17 +0000 (18:56 +0000)
src/fns.c

index d8f51afbde0aef50f9f6c31be497af4f07df3620..9e8a15d55787c88f53e271a824889cb7db5038e4 100644 (file)
--- 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;
 }
 \f
 Lisp_Object merge ();