Thanks a lot.  I didn't know about the new feature.

   Mark


On 6/29/2012 4:52 AM, Eli Zaretskii wrote:
Date: Fri, 29 Jun 2012 04:05:15 -0400
From: MBR<m...@arlsoft.com>

In one Emacs window I have a buffer containing the following text:

     uarg=-Ujdbc:odbc:PLDBKSM-20120620
     #uarg=-Ujdbc:odbc:PLDBMartin-20120124

The buffer displayed by the other Emacs window contains:

     jdbcURL=jdbc:odbc:PLDBKSM-20120620

I'd intended to position the cursors in each window at the beginning of
each jdbc URL so I could compare them, but I forgot to, o the cursor was
on the first character in each window when I ran 'M-x compare-windows'.
Since the cursor in the first window was positioned on the "u" and in
the second window it was positioned on the "j", compare-windows should
have beeped and stopped without moving either cursor.  Yet, much to my
surprise, the cursor (shown below as a '^') in the first window advanced to:

     uarg=-Ujdbc:odbc:PLDBKSM-20120620
     #uarg=-U^jdbc:odbc:PLDBMartin-20120124

and in the second window it advanced to:

     jdbcURL=^jdbc:odbc:PLDBKSM-20120620

This doesn't make any sense.  Furthermore, since I still have 21.3.1
installed, I tried the same thing in the old version, and it behaved as
I expected - i.e. compare-windows beeped without moving either cursor.
Didn't it also display the chunk between "j" and the cursor in some
non-default background color?  This shows you where the
synchronization point is, and the text that is different between the
two windows.

IOW, this is a new feature, see the variable compare-windows-sync.  If
you dislike this behavior, set that variable to nil, and you will get
the old behavior.

This change was announced in NEWS of Emacs 22.1:

   *** M-x compare-windows now can automatically skip non-matching text to
   resync points in both windows.



Reply via email to