The following functions can be used to manipulate property lists.
They all default to comparing property names using eq
.
This returns the value of the property property stored in the
property list plist. Comparisons are done with predicate,
which defaults to eq
. It accepts a malformed plist
argument. If property is not found in the plist, it
returns nil
. For example,
(plist-get '(foo 4) 'foo) ⇒ 4 (plist-get '(foo 4 bad) 'foo) ⇒ 4 (plist-get '(foo 4 bad) 'bad) ⇒ nil (plist-get '(foo 4 bad) 'bar) ⇒ nil
This stores value as the value of the property property in
the property list plist. Comparisons are done with predicate,
which defaults to eq
. It may modify plist destructively,
or it may construct a new list structure without altering the old. The
function returns the modified property list, so you can store that back
in the place where you got plist. For example,
(setq my-plist (list 'bar t 'foo 4)) ⇒ (bar t foo 4) (setq my-plist (plist-put my-plist 'foo 69)) ⇒ (bar t foo 69) (setq my-plist (plist-put my-plist 'quux '(a))) ⇒ (bar t foo 69 quux (a))
This obsolete function is like plist-get
except that it
compares properties using equal
instead of eq
.
This obsolete function is like plist-put
except that it
compares properties using equal
instead of eq
.
This returns non-nil
if plist contains the given
property. Comparisons are done with predicate, which
defaults to eq
. Unlike plist-get
, this allows you to
distinguish between a missing property and a property with the value
nil
. The value is actually the tail of plist whose
car
is property.