Mercurial > hg > xemacs-beta
diff man/lispref/symbols.texi @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | 74fd4e045ea6 |
children |
line wrap: on
line diff
--- a/man/lispref/symbols.texi Mon Aug 13 11:19:22 2007 +0200 +++ b/man/lispref/symbols.texi Mon Aug 13 11:20:41 2007 +0200 @@ -378,14 +378,14 @@ @cindex plist, symbol A @dfn{property list} (@dfn{plist} for short) is a list of paired -elements, often stored in the property list cell of a symbol. Each of -the pairs associates a property name (usually a symbol) with a property -or value. Property lists are generally used to record information about -a symbol, such as its documentation as a variable, the name of the file +elements stored in the property list cell of a symbol. Each of the +pairs associates a property name (usually a symbol) with a property or +value. Property lists are generally used to record information about a +symbol, such as its documentation as a variable, the name of the file where it was defined, or perhaps even the grammatical class of the symbol (representing a word) in a language-understanding system. - Some objects which are not symbols also have property lists associated + Many objects other than symbols can have property lists associated with them, and XEmacs provides a full complement of functions for working with property lists. @xref{Property Lists}. @@ -405,7 +405,7 @@ @menu * Plists and Alists:: Comparison of the advantages of property lists and association lists. -* Object Plists:: Functions to access objects' property lists. +* Symbol Plists:: Functions to access symbols' property lists. * Other Plists:: Accessing property lists stored elsewhere. @end menu @@ -441,22 +441,13 @@ are pushed on the front of the list and later discarded; this is not possible with a property list. -@node Object Plists -@subsection Property List Functions for Objects - -Once upon a time, only symbols had property lists. Now, several other -object types, including strings, extents, faces and glyphs also have -property lists. +@node Symbol Plists +@subsection Property List Functions for Symbols @defun symbol-plist symbol This function returns the property list of @var{symbol}. @end defun -@defun object-plist object -This function returns the property list of @var{object}. If -@var{object} is a symbol, this is identical to @code{symbol-plist}. -@end defun - @defun setplist symbol plist This function sets @var{symbol}'s property list to @var{plist}. Normally, @var{plist} should be a well-formed property list, but this is @@ -472,24 +463,23 @@ 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 -(@pxref{Abbrevs}). But generally, its use is discouraged. Use -@code{put} instead. @code{setplist} can only be used with symbols, not -other object types. +(@pxref{Abbrevs}). @end defun -@defun get object property &optional default +@defun get symbol property This function finds the value of the property named @var{property} in -@var{object}'s property list. If there is no such property, -@code{default} (which itself defaults to @code{nil}) is returned. +@var{symbol}'s property list. If there is no such property, @code{nil} +is returned. Thus, there is no distinction between a value of +@code{nil} and the absence of the property. -@var{property} is compared with the existing properties using @code{eq}, -so any object is a legitimate property. +The name @var{property} is compared with the existing property names +using @code{eq}, so any object is a legitimate property. See @code{put} for an example. @end defun -@defun put object property value -This function puts @var{value} onto @var{object}'s property list under +@defun put symbol property value +This function puts @var{value} onto @var{symbol}'s property list under the property name @var{property}, replacing any previous property value. The @code{put} function returns @var{value}. @@ -500,24 +490,13 @@ @result{} (a buzzing little bug) (get 'fly 'verb) @result{} transitive -(object-plist 'fly) +(symbol-plist 'fly) @result{} (verb transitive noun (a buzzing little bug)) @end smallexample @end defun -@defun remprop object property -This function removes the entry for @var{property} from the property -list of @var{object}. It returns @code{t} if the property was -indeed found and removed, or @code{nil} if there was no such property. -(This function was probably omitted from Emacs originally because, -since @code{get} did not allow a @var{default}, it was very difficult -to distinguish between a missing property and a property whose value -was @code{nil}; thus, setting a property to @code{nil} was close -enough to @code{remprop} for most purposes.) -@end defun - @node Other Plists -@subsection Property Lists Not Associated with Objects +@subsection Property Lists Outside Symbols These functions are useful for manipulating property lists that are stored in places other than symbols: