From: Richard M. Stallman Date: Mon, 10 Jun 2002 09:00:52 +0000 (+0000) Subject: (copy-list): Moved back from subr.el. X-Git-Tag: ttn-vms-21-2-B4~14683 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6b25a2f544161b04915807a873af060fcb6bdc49;p=emacs.git (copy-list): Moved back from subr.el. --- diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index def4d24188c..c5d3ef0832e 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el @@ -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)