In each text window, every modification of the buffer is saved in an unlimited linked LIFO list. The modifications can be undone in order with the undo command Ctrl-u, up to the first modification. When the buffer is saved as a file, the undo list is reseted. It is possible to cancel one or several undo commands with Ctrl-t (i.e. redo).
The undo mechanism implemented in Xcoral is simple. It does not take into account context or semantics, but only modifications. This means that several Ctrl-u commands show you exactly what you have done in the buffer (i.e. inserted/deleted characters, copied/deleted regions, cut and paste with mouse, etc).