On Wed, November 16, 2011 9:38 pm, Paul wrote:
> On Nov 16, 1:42 am, "Christian Brabandt" <[email protected]> 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.
#v+
cb@R500:~/code/vim/src$ hg diff ex_cmds.h
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -788,7 +788,7 @@
EX(CMD_rubyfile, "rubyfile", ex_rubyfile,
RANGE|FILE1|NEEDARG|CMDWIN),
EX(CMD_rundo, "rundo", ex_rundo,
- NEEDARG|FILE1),
+ NEEDARG|WORD1),
EX(CMD_rviminfo, "rviminfo", ex_viminfo,
BANG|FILE1|TRLBAR|CMDWIN),
EX(CMD_substitute, "substitute", do_sub,
#v-
regards,
Christian
--
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