]> git.eshelyaron.com Git - emacs.git/commitdiff
(copy-list): Moved back from subr.el.
authorRichard M. Stallman <rms@gnu.org>
Mon, 10 Jun 2002 09:00:52 +0000 (09:00 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 10 Jun 2002 09:00:52 +0000 (09:00 +0000)
lisp/emacs-lisp/cl.el

index def4d24188c3e6f4075ee71e2b2ed87437989c4d..c5d3ef0832ea9f523de9ec420559709dd4dbed19 100644 (file)
@@ -514,6 +514,15 @@ Thus, `(list* A B C D)' is equivalent to `(nconc (list A B C) D)', or to
       (push (pop list) res))
     (nreverse res)))
 
+(defun copy-list (list)
+  "Return a copy of a list, which may be a dotted list.
+The elements of the list are not copied, just the list structure itself."
+  (if (consp list)
+      (let ((res nil))
+       (while (consp list) (push (pop list) res))
+       (prog1 (nreverse res) (setcdr res list)))
+    (car list)))
+
 (defun cl-maclisp-member (item list)
   (while (and list (not (equal item (car list)))) (setq list (cdr list)))
   list)