Loading ...
Sorry, an error occurred while loading the content.

75524Re: [patch] :undorecover command

Expand Messages
  • Christian Brabandt
    Mar 7, 2014
    • 0 Attachment

      On Fr, 07 Mär 2014, Bram Moolenaar wrote:

      > Christian Brabandt wrote:
      > > here is a patch, containing an :undorecover command that has been
      > > requested before. If you apply this patch and use :undorecover on
      > > existing undofiles, it will simply read in the undo structure.
      > >
      > > But by itself this isn't really useful, as one probably ends up with
      > > only many small pieces of the original file and most probably not the
      > > complete file contents. But at least one can traverse the undo structure
      > > and see if one can at least recover parts of the file.
      > >
      > > Newly written undofiles will therefore at least contain one complete
      > > buffer content at the time the undofile is written and no complete
      > > buffer content has been recorded yet. When using those undofiles
      > > together with :undorecover one will jump to that state in the undo tree
      > > and from there one can try to recover parts of the file.
      > >
      > > But even then, if one has many undo branches, there will be most likely
      > > branches, that are not recoverable, because the undo information does
      > > not contains information to recover from that initial state.
      > >
      > > Therefore, this patch also adds an 'undosavebuf' option (off by default)
      > > which when on, will always save the complete buffer in the undo tree
      > > whenever the undofile is written. This possibly makes the undo tree (and
      > > undofile) a lot larger, but the user should be able to recover different
      > > states pretty easily.
      > Thanks. Setting that 'undosavebuf' sounds a bit dangerous...
      > If I understand it correctly, the user will have to go forward and
      > backward in the undo tree to find useful text. And there will be many
      > versions of the same line. Perhaps it's possible to be more clever and
      > just start with buffer with empty lines, and go through history in a way
      > one ends up with the last known state of each line? I know this isn't
      > easy, but it should be possible.
      > Also, this is difficult to test with something under src/testdir. It's
      > probably more suited for a unittest like memfile_test.c does.

      Okay, I'll look into it.

      Die Katholiken Terrorisieren das Land mit einer Auffassung vom Wesen
      der Ehe, die die ihre ist und die uns nichts angeht.
      -- Kurt Tucholsky

      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      You received this message because you are subscribed to the Google Groups "vim_dev" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/d/optout.
    • Show all 10 messages in this topic