Function: erc-delete-if
erc-delete-if is a byte-compiled function defined in erc-compat.el.gz.
This function is obsolete since 28.1; use cl-delete-if instead.
Signature
(erc-delete-if PREDICATE SEQ)
Documentation
Remove all items satisfying PREDICATE in SEQ.
This is a destructive function: it reuses the storage of SEQ whenever possible.
Source Code
;; Defined in /usr/src/emacs/lisp/erc/erc-compat.el.gz
;; Provide a simpler replacement for `cl-delete-if'
(defun erc-delete-if (predicate seq)
"Remove all items satisfying PREDICATE in SEQ.
This is a destructive function: it reuses the storage of SEQ
whenever possible."
(declare (obsolete cl-delete-if "28.1"))
;; remove from car
(while (when (funcall predicate (car seq))
(setq seq (cdr seq))))
;; remove from cdr
(let ((ptr seq)
(next (cdr seq)))
(while next
(when (funcall predicate (car next))
(setcdr ptr (if (consp next)
(cdr next)
nil)))
(setq ptr (cdr ptr))
(setq next (cdr ptr))))
seq)