[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

User representation of orgls and berts

I figured out a simple mechanism that gets most if not all your
suggested behaviors, but uses the Xanadu semantics.  Reverting is an
EDIT operation.  When you Revert, you hop the edit Bert to the old
version.  To record the Revert operation, just Save.  To make a new
fork document, you can either Save at the reversion location, then
start editing (which gives your proposed semantics) or just start
editing.  Alternatively, we can define that when you start editing at
a reverted location, we hop the main Bert to the Edit Bert, then start
editing.  Note that this is exactly a Save operation.  

With Revert and Pervert as edit operations, the user can wander
around, then undo back to previously seen locations, and eventually
back to his original states (or to earlier areas of the edit session).
Now we don't need to do anything special to preserve his earlier edit
history if he undoes the Revert.

This also uses the BertChangedRecorder in the most trivial way.  We
just make our Bert hops correspond to the history we want recorded.

OK I'll shut up now....  Whatcha think?