Function: cl-getf
cl-getf is an autoloaded and byte-compiled function defined in
cl-extra.el.gz.
Signature
(cl-getf PROPLIST PROPNAME &optional DEFAULT)
Documentation
Search PROPLIST for property PROPNAME; return its value or DEFAULT.
PROPLIST is a list of the sort returned by symbol-plist.
Aliases
getf (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-extra.el.gz
;;;###autoload
(defun cl-getf (plist tag &optional def)
"Search PROPLIST for property PROPNAME; return its value or DEFAULT.
PROPLIST is a list of the sort returned by `symbol-plist'.
\n(fn PROPLIST PROPNAME &optional DEFAULT)"
(declare (gv-expander
(lambda (do)
(gv-letplace (getter setter) plist
(macroexp-let2* nil ((k tag) (d def))
(funcall do `(cl-getf ,getter ,k ,d)
(lambda (v)
(macroexp-let2 nil val v
`(progn
,(funcall setter
`(cl--set-getf ,getter ,k ,val))
,val)))))))))
(let ((val-tail (cdr (plist-member plist tag))))
(if val-tail (car val-tail) def)))