[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/subr.el
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/subr.el |
Date: |
Mon, 10 Jun 2002 05:01:08 -0400 |
Index: emacs/lisp/subr.el
diff -c emacs/lisp/subr.el:1.306 emacs/lisp/subr.el:1.307
*** emacs/lisp/subr.el:1.306 Sat Jun 8 16:48:15 2002
--- emacs/lisp/subr.el Mon Jun 10 05:01:08 2002
***************
*** 191,222 ****
(delq elt (copy-sequence list))
list))
- (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 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 (copy-tree (car p) vecp)))
! (or (listp (cdr p)) (setcdr p (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 (copy-tree (aref tree i) vecp))))))
! tree)
(defun assoc-default (key alist &optional test default)
"Find object KEY in a pseudo-alist ALIST.
--- 191,216 ----
(delq elt (copy-sequence list))
list))
(defun 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 (result)
! (while (consp tree)
! (let ((newcar (car tree)))
! (if (or (consp (car tree)) (and vecp (vectorp (car tree))))
! (setq newcar (copy-tree (car tree) vecp)))
! (push newcar result))
! (setq tree (cdr tree)))
! (nreconc result tree))
(if (and vecp (vectorp tree))
(let ((i (length (setq tree (copy-sequence tree)))))
(while (>= (setq i (1- i)) 0)
! (aset tree i (copy-tree (aref tree i) vecp)))
! tree)
! tree)))
(defun assoc-default (key alist &optional test default)
"Find object KEY in a pseudo-alist ALIST.
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Colin Walters, 2002/06/08
- [Emacs-diffs] Changes to emacs/lisp/subr.el,
Richard M. Stallman <=
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Miles Bader, 2002/06/11
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Miles Bader, 2002/06/14
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Miles Bader, 2002/06/14
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Stefan Monnier, 2002/06/23
- [Emacs-diffs] Changes to emacs/lisp/subr.el, Juanma Barranquero, 2002/06/27