]> git.eshelyaron.com Git - emacs.git/commitdiff
(cl-copy-tree): Moved to `copy-tree' in subr.el. Add a defalias with
authorColin Walters <walters@gnu.org>
Sat, 8 Jun 2002 22:32:06 +0000 (22:32 +0000)
committerColin Walters <walters@gnu.org>
Sat, 8 Jun 2002 22:32:06 +0000 (22:32 +0000)
the old name.

lisp/emacs-lisp/cl-extra.el

index 194f6c6d9b48cc59a7d792b953ec73fd58c3c96d..ac206a84afd8d6433e359863550dab851984632f 100644 (file)
@@ -565,24 +565,7 @@ If START or END is negative, it counts from the end."
     (setq list (cdr list)))
   (if (numberp sublist) (equal sublist list) (eq sublist list)))
 
-(defun cl-copy-tree (tree &optional vecp)
-  "Make a copy of TREE.
-If TREE is a cons cell, this recursively copies both its car and its cdr.
-Contrast to copy-sequence, which copies only along the cdrs.  With second
-argument VECP, this copies vectors as well as conses."
-  (if (consp tree)
-      (let ((p (setq tree (copy-list tree))))
-       (while (consp p)
-         (if (or (consp (car p)) (and vecp (vectorp (car p))))
-             (setcar p (cl-copy-tree (car p) vecp)))
-         (or (listp (cdr p)) (setcdr p (cl-copy-tree (cdr p) vecp)))
-         (cl-pop p)))
-    (if (and vecp (vectorp tree))
-       (let ((i (length (setq tree (copy-sequence tree)))))
-         (while (>= (setq i (1- i)) 0)
-           (aset tree i (cl-copy-tree (aref tree i) vecp))))))
-  tree)
-(defalias 'copy-tree 'cl-copy-tree)
+(defalias 'cl-copy-tree 'copy-tree)
 
 
 ;;; Property lists.