Monday, November 28, 2011

Re: Synchronizing or merging undo across platforms

Christian Brabandt wrote:

> On So, 27 Nov 2011, Bram Moolenaar wrote:
>
> >
> > Christian Brabandt wrote:
> >
> > > On Wed, November 16, 2011 9:38 pm, Paul wrote:
> > > > On Nov 16, 1:42 am, "Christian Brabandt" <cbli...@256bit.org> wrote:
> > > >
> > > >> Well, first check that
> > > >> :echo undofile(@%) points to the same undofile across each platform.
> > > >
> > > > Aha, thanks. That helped me determine that my Vim silently ignores me
> > > > when I try to set relative directories for undodir.
> > > >
> > > > :set undodir=. works fine, but no undo file is created when I :set
> > > > undodir=./undodir
> > > >
> > > > This seems to be a different behavior than that of backupdir, even
> > > > though :help undodir says "See |'backupdir'| for details of the
> > > > format." Is this expected/documented/fixable?
> > >
> > > Hm, setting 'undodir' to a relative directory works for me. I can't
> > > reproduce this. However there is a bug when using rundo with those
> > > files.
> > >
> > > When using a separate 'undodir' directory to store the undofiles, Vim
> > > uses the complete path of the file as filename, replacing the path
> > > separators ('/') by '%'. So far this works as documented by :h
> > > 'undodir'.
> > >
> > > Now when using :rundo with a filename, that contains the complete path
> > > and using '%' as directory separators, those '%' will be replaced by
> > > the current file name (as documented by :h filename-modifiers) and
> > > surprise surprise Vim won't be able to read the undofile.
> > >
> > > So this is just plain wrong in this case. So here is a patch, that
> > > fixes that. This applies only to :rundo and I am not sure, whether
> > > this should also apply to :wundo (I tend not to apply it there) but
> > > this should be kept in mind.
> > >
> > > Bram, please check and apply.
> >
> > In most places where you can use a file name % is expanded. And it's
> > also useful, especially in the form "%:h" to get the directory.
>
> I don't understand. Using '%' as path separators contradicts the usage
> your pointing out. How am I supposed to :rundo an undofile, that
> contains the '%'-separator?

Where does it say to use % for path separators? If you do you need to
escape them.

At ":help :wundo" it actually has a few examples of using %:h.

--
hundred-and-one symptoms of being an internet addict:
197. Your desk collapses under the weight of your computer peripherals.

/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///

--
You received this message from the "vim_use" 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

No comments:

Post a Comment