When using WinMerge I am looking at a file that has had a block of code inserted into a function which causes the rest of the file to be out of sync in the comparison. Mine is much more complex but essentially the same as the simple example below:

  FILE 1                   FILE 2
1 int main() {             int main() {
2
3   int a = 3;               int a = 3;
4   a += 5;                  for(int i = 0; i < a; ++a)
5 }                             a += i;
6                           
7                            a += 5;
8                         }

WinMerge instead of recognizing the for-loop as an inserted block and showing the rest of the file the same it would show differences on line 4,5,6,7,8. I would expect it to sync line 4 of file 1 to line 7 of file 2 and make it a much cleaner diff. Is there a setting for this? I have played with the "Moved Code Block" setting but it simply highlights the matching code block later in the file instead of lining them up.

Any suggestions?

Edit
Report