www.delorie.com/gnu/docs/elisp-manual-21/elisp_109.html   search  
Buy the book!

GNU Emacs Lisp Reference Manual

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8.4.2 Property List Functions for Symbols

Function: symbol-plist symbol
This function returns the property list of symbol.

Function: setplist symbol plist
This function sets symbol's property list to plist. Normally, plist should be a well-formed property list, but this is not enforced.

(setplist 'foo '(a 1 b (2 3) c nil))
     => (a 1 b (2 3) c nil)
(symbol-plist 'foo)
     => (a 1 b (2 3) c nil)

For symbols in special obarrays, which are not used for ordinary purposes, it may make sense to use the property list cell in a nonstandard fashion; in fact, the abbrev mechanism does so (see section 36. Abbrevs and Abbrev Expansion).

Function: get symbol property
This function finds the value of the property named property in symbol's property list. If there is no such property, nil is returned. Thus, there is no distinction between a value of nil and the absence of the property.

The name property is compared with the existing property names using eq, so any object is a legitimate property.

See put for an example.

Function: put symbol property value
This function puts value onto symbol's property list under the property name property, replacing any previous property value. The put function returns value.

(put 'fly 'verb 'transitive)
(put 'fly 'noun '(a buzzing little bug))
     => (a buzzing little bug)
(get 'fly 'verb)
     => transitive
(symbol-plist 'fly)
     => (verb transitive noun (a buzzing little bug))

  webmaster   donations   bookstore     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003