Text Properties
===============
Each character position in a buffer or a string can have a "text
property list", much like the property list of a symbol (Note:Property
Lists). The properties belong to a particular character at a
particular place, such as, the letter `T' at the beginning of this
sentence or the first `o' in `foo'--if the same character occurs in two
different places, the two occurrences generally have different
properties.
Each property has a name and a value. Both of these can be any Lisp
object, but the name is normally a symbol. The usual way to access the
property list is to specify a name and ask what value corresponds to it.
If a character has a `category' property, we call it the "category"
of the character. It should be a symbol. The properties of the symbol
serve as defaults for the properties of the character.
Copying text between strings and buffers preserves the properties
along with the characters; this includes such diverse functions as
`substring', `insert', and `buffer-substring'.