XEmacs Lisp Reference Manual - Intro to Extents Go to the first , previous , next , last section, table of contents . An extent is a region of text within a buffer or string that has certain properties associated with it. The properties of an extent primarily affect the way the text contained in the extent is displayed. Extents can freely overlap each other in a buffer or string.
Extents are invisible to functions that merely examine the text of a buffer or string.
An alternative way to add properties to a buffer or string is to use text properties. See section Text Properties . An extent is logically a Lisp object consisting of a start position, an end position, a buffer or string to which these positions refer, and a property list. As text is inserted into a buffer, the start and end positions of the extent are automatically adjusted as necessary to keep the extent referring to the same text in the buffer. Each extent has a face or list of faces associated with it, which controls the way in which the text bounded by the extent is displayed.