Next: Substitution, Previous: Case Changes, Up: Text
Each character position in a buffer or a string can have a text property list, much like the property list of a symbol (see 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 in general 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. Typically each property
name symbol is used for a particular purpose; for instance, the text
property face specifies the faces for displaying the character
(see Special Properties). 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
property 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.