GNU Info

Info Node: (elisp)Other Plists

(elisp)Other Plists


Prev: Symbol Plists Up: Property Lists
Enter node , (file) or (file)node

Property Lists Outside Symbols
------------------------------

   These functions are useful for manipulating property lists that are
stored in places other than symbols:

 - Function: plist-get plist property
     This returns the value of the PROPERTY property stored in the
     property list PLIST.  For example,

          (plist-get '(foo 4) 'foo)
               => 4

 - Function: plist-put plist property value
     This stores VALUE as the value of the PROPERTY property in the
     property list PLIST.  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 '(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)))

 - Function: plist-member plist property
     This returns non-`nil' if PLIST contains the given PROPERTY.
     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.


automatically generated by info2www version 1.2.2.9