X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/81d3d428c6b88e6c99f3fad6b7cc52c12236ff56..b1f23349eb103eba22f9e2181f97a5fc939f86e0:/doc/lispref/symbols.texi diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index 08f7d7f1ca..d5d5bb05f7 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi @@ -1,7 +1,7 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. @c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, -@c 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. +@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @setfilename ../../info/symbols @node Symbols, Evaluation, Hash Tables, Top @@ -403,15 +403,17 @@ it returns @code{nil}. @cindex plist A @dfn{property list} (@dfn{plist} for short) is a list of paired -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. +elements. Each of the pairs associates a property name (usually a +symbol) with a property or value. - Character positions in a string or buffer can also have property lists. -@xref{Text Properties}. + Every symbol has a cell that stores a property list (@pxref{Symbol +Components}). This property list is used to record information about +the symbol, such as its variable documentation and the name of the +file where it was defined. + + Property lists can also be used in other contexts. For instance, +you can assign property lists to character positions in a string or +buffer. @xref{Text Properties}. The property names and values in a property list can be any Lisp objects, but the names are usually symbols. Property list functions @@ -529,22 +531,18 @@ The @code{put} function returns @var{value}. that are stored in places other than symbols: @defun plist-get plist property -This returns the value of the @var{property} property -stored in the property list @var{plist}. For example, +This returns the value of the @var{property} property stored in the +property list @var{plist}. It accepts a malformed @var{plist} +argument. If @var{property} is not found in the @var{plist}, it +returns @code{nil}. For example, @example (plist-get '(foo 4) 'foo) @result{} 4 (plist-get '(foo 4 bad) 'foo) @result{} 4 -(plist-get '(foo 4 bad) 'bar) - @result{} @code{wrong-type-argument} error -@end example - -It accepts a malformed @var{plist} argument and always returns @code{nil} -if @var{property} is not found in the @var{plist}. For example, - -@example +(plist-get '(foo 4 bad) 'bad) + @result{} @code{nil} (plist-get '(foo 4 bad) 'bar) @result{} nil @end example