elisp: Text Properties

 
 31.19 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 (SeeProperty
 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 (SeeSpecial
 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’.
 

Menu