GNU Emacs Lisp Reference Manual
2.4.10 Overlay Type
An overlay specifies properties that apply to a part of a
buffer. Each overlay applies to a specified range of the buffer, and
contains a property list (a list whose elements are alternating property
names and values). Overlay properties are used to present parts of the
buffer temporarily in a different display style. Overlays have no read
syntax, and print in hash notation, giving the buffer name and range of
positions.
See section 38.9 Overlays, for how to create and use overlays.