Function: compat--plist-put

compat--plist-put is a byte-compiled function defined in compat-29.el.

Signature

(compat--plist-put PLIST PROP VAL &optional PREDICATE)

Documentation

[Compatibility function for plist-put, defined in Emacs 29.1. See (compat)
Emacs 29.1' for more details.]

Handle optional argument PREDICATE.

Source Code

;; Defined in ~/.emacs.d/elpa/compat-30.1.0.1/compat-29.el
(compat-defun plist-put (plist prop val &optional predicate) ;; <compat-tests:plist-get>
  "Handle optional argument PREDICATE."
  :extended t
  (pcase predicate
    ((or `nil `eq) (plist-put plist prop val))
    (`equal (lax-plist-put plist prop val))
    (_ (catch 'found
         (let ((tail plist))
           (while (consp tail)
             (when (funcall predicate prop (car tail))
               (setcar (cdr tail) val)
               (throw 'found plist))
             (setq tail (cddr tail))))
         (nconc plist (list prop val))))))