Re: Diff problems (was: reminder: Call for votes for Vim 6.0)
- Based on all the comments received, I built a debug version of diff.c
patching the function ex_diffupdate().
Each time it's called, I open a unique file numbered for the call.
Right after Gvim calls the diff program, I call it again with
different files than those used on the command line.
I open with: gvim -d t1 t2
then I immediately close down.
The ex_diffupdate function is called 4 times! The first two times it
is called, it exits after finding no pointer in the array 'diffbuf'
that are not NULL.
The third call, actually calls diff with 'cmd' equal to this long
>C:\DOCUME~1\rhouwjm\LOCALS~1\Temp\VId654.tmp 2>&1Then I use the same 'call_shell' function with 'cmd' equal:
diff \pad\const.txt \pad\const2.txt >\my03_0001.diff 2>&1
The fourth time ex_diffupdate is called repeats the results of the
third call. diff is, of course, called with different tmp files. My
call is also repeated (with a different output file).
My calls to diff worked fine, so I assume Gvim's calls worked fine
I'm have to give up for now - too busy at work. I may try more this
weekend. For now I'm restoring the diff.c from the distribution. At
least I'm not SOL - Dr Chips' hdiffwin.vim is still working fine :)
Good luck vipin if you're still trying.
P.S. I noticed that ex_diffupdate is always called at least once -
even if you're not using diff mode. It behaves just like the
first call described above.