1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-02 11:21:42 +00:00

(remove, remq): New functions.

This commit is contained in:
Gerd Moellmann 2000-07-27 20:08:47 +00:00
parent 96ce5c4f18
commit 13157efca3

View File

@ -135,6 +135,22 @@ If N is bigger than the length of X, return X."
(setq x (cdr x)))
x))
(defun remove (elt seq)
"Return a copy of SEQ with all occurences of ELT removed.
SEQ must be a list, vector, or string. The comparison is done with `equal'."
(if (nlistp seq)
;; If SEQ isn't a list, there's no need to copy SEQ because
;; `delete' will return a new object.
(delete elt seq)
(delete elt (copy-sequence seq))))
(defun remq (elt list)
"Return a copy of LIST with all occurences of ELT removed.
The comparison is done with `eq'."
(if (memq elt list)
(delq elt (copy-sequence list))
list))
(defun assoc-default (key alist &optional test default)
"Find object KEY in a pseudo-alist ALIST.
ALIST is a list of conses or objects. Each element (or the element's car,