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

20334Re: Diff problems (was: reminder: Call for votes for Vim 6.0)

Expand Messages
  • Bill McCarthy
    May 1, 2001
    • 0 Attachment
      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
      line:

      diff C:\DOCUME~1\rhouwjm\LOCALS~1\Temp\VIo652.tmp
      C:\DOCUME~1\rhouwjm\LOCALS~1\Temp\VIn653.tmp
      >C:\DOCUME~1\rhouwjm\LOCALS~1\Temp\VId654.tmp 2>&1

      Then 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
      also.

      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.

      Bill

      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.
    • Show all 2 messages in this topic