Variable: buffer-undo-list

List of undo entries in current buffer.
Recent changes come first; older changes follow newer.

An entry (BEG . END) represents an insertion which begins at
position BEG and ends at position END.

An entry (TEXT . POSITION) represents the deletion of the string TEXT
from (abs POSITION). If POSITION is positive, point was at the front
of the text being deleted; if negative, point was at the end.

An entry (t HIGH LOW USEC PSEC) indicates that the buffer was previously
unmodified; (HIGH LOW USEC PSEC) is in the same style as (current-time)
and is the visited file's modification time, as of that time. If the
modification time of the most recent save is different, this entry is

An entry (nil PROPERTY VALUE BEG . END) indicates that a text property
was modified between BEG and END. PROPERTY is the property name,
and VALUE is the old value.

An entry (apply FUN-NAME . ARGS) means undo the change with
(apply FUN-NAME ARGS).

An entry (apply DELTA BEG END FUN-NAME . ARGS) supports selective undo
in the active region. BEG and END is the range affected by this entry
and DELTA is the number of bytes added or deleted in that range by
this change.

An entry (MARKER . DISTANCE) indicates that the marker MARKER
was adjusted in position by the offset DISTANCE (an integer).

An entry of the form POSITION indicates that point was at the buffer
location given by the integer. Undoing an entry of this form places
point at POSITION.

Entries with value `nil' mark undo boundaries. The undo command treats
the changes between two undo boundaries as a single step to be undone. If the value of the variable is t, undo information is not recorded.