/[emacs]/emacs/lisp/subr.el
ViewVC logotype

Diff of /emacs/lisp/subr.el

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.305 by rms, Thu May 30 17:12:53 2002 UTC revision 1.306 by walters, Sat Jun 8 20:48:15 2002 UTC
# Line 191  The comparison is done with `eq'." Line 191  The comparison is done with `eq'."
191        (delq elt (copy-sequence list))        (delq elt (copy-sequence list))
192      list))      list))
193    
194    (defun copy-list (list)
195      "Return a copy of a list, which may be a dotted list.
196    The elements of the list are not copied, just the list structure itself."
197      (if (consp list)
198          (let ((res nil))
199            (while (consp list) (push (pop list) res))
200            (prog1 (nreverse res) (setcdr res list)))
201        (car list)))
202    
203    (defun copy-tree (tree &optional vecp)
204      "Make a copy of TREE.
205    If TREE is a cons cell, this recursively copies both its car and its cdr.
206    Contrast to copy-sequence, which copies only along the cdrs.  With second
207    argument VECP, this copies vectors as well as conses."
208      (if (consp tree)
209          (let ((p (setq tree (copy-list tree))))
210            (while (consp p)
211              (if (or (consp (car p)) (and vecp (vectorp (car p))))
212                  (setcar p (copy-tree (car p) vecp)))
213              (or (listp (cdr p)) (setcdr p (copy-tree (cdr p) vecp)))
214              (cl-pop p)))
215        (if (and vecp (vectorp tree))
216            (let ((i (length (setq tree (copy-sequence tree)))))
217              (while (>= (setq i (1- i)) 0)
218                (aset tree i (copy-tree (aref tree i) vecp))))))
219      tree)
220    
221  (defun assoc-default (key alist &optional test default)  (defun assoc-default (key alist &optional test default)
222    "Find object KEY in a pseudo-alist ALIST.    "Find object KEY in a pseudo-alist ALIST.
223  ALIST is a list of conses or objects.  Each element (or the element's car,  ALIST is a list of conses or objects.  Each element (or the element's car,

Legend:
Removed from v.1.305  
changed lines
  Added in v.1.306

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26