These two functions are useful for manipulating property lists that are stored in places other than symbols:
(plist-get '(foo 4) 'foo)
=> 4
(setq my-plist '(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))
You could define put in terms of plist-put as follows:
(defun put (symbol prop value)
(setplist symbol
(plist-put (symbol-plist symbol) prop value)))
Go to the first, previous, next, last section, table of contents.