On 01/27/2015 01:29 PM, Bram Moolenaar wrote:
>
> Xavier de Gaye wrote:
>
>> Running the DirDiff plugin with the latest 7.4.592 produces the following
error message:
>>
>> E16: Invalid range: 3wincmd
>>
>> This occurs since 7.4.565.
>> There are other related reports, for example the thread ":wincmd bug" at
http://thread.gmane.org/gmane.editors.vim.devel/48814
>> I guess this is being worked on and just wanted to report that DirDiff
>> is also broken.
>
> Is the problem that the plugin is using a non-existing window number or
> is the range check wrong?
>
Yes, the plugin is using a non-existing window.
The following patch to DirDiff seems to fix the problem.
This plugin is very nice. I am using it with mercurial with the command 'hg
vim' to browse all the changes made between revisions or in the workarea.
FWIW the corresponding configuration in my .hgrc configuration is:
[extdiff]
# DirDiff script for Vim: http://www.vim.org/scripts/script.php?script_id=102
# wget http://www.vim.org/scripts/download_script.php?src_id=5306 -O
~/.vim/plugin/DirDiff.vim
cmd.vimdiff = gvim
opts.vimdiff = -f '+next' '+execute "DirDiff" argv(0) argv(1)'
And here is my DirDiff patch to the latest VERSION: 1.1.4:
diff --git a/plugin/DirDiff.vim b/plugin/DirDiff.vim
--- a/plugin/DirDiff.vim
+++ b/plugin/DirDiff.vim
@@ -540,12 +540,12 @@
" Save the number of this window, to which we wish to return
" This is required in case there are other windows open
- let thisWindow = winnr()
+ " let thisWindow = winnr()
call <SID>CloseDiffWindows()
" Ensure we're in the right window
- exec thisWindow.'wincmd w'
+ " exec thisWindow.'wincmd w'
let line = getline(".")
" Parse the line and see whether it's a "Only in" or "Files Differ"
Xavier
--
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.