mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
(cl-copy-tree): Moved to `copy-tree' in subr.el. Add a defalias with
the old name.
This commit is contained in:
parent
a7ed3f6a4e
commit
7f050de0b3
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user