Function: cl-remf

cl-remf is an autoloaded macro defined in cl-macs.el.gz.

Signature

(cl-remf PLACE TAG)

Documentation

Remove TAG from property list PLACE.

PLACE may be a symbol, or any generalized variable allowed by setf. The form returns true if TAG was found and removed, nil otherwise.

View in manual

Aliases

remf (obsolete since 27.1)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
;;;###autoload
(defmacro cl-remf (place tag)
  "Remove TAG from property list PLACE.
PLACE may be a symbol, or any generalized variable allowed by `setf'.
The form returns true if TAG was found and removed, nil otherwise."
  (declare (debug (place form)))
  (gv-letplace (tval setter) place
    (macroexp-let2 macroexp-copyable-p ttag tag
      `(if (eq ,ttag (car ,tval))
           (progn ,(funcall setter `(cddr ,tval))
                  t)
         (cl--do-remf ,tval ,ttag)))))