Subject: bug#11320: [PATCH 2/2] Useful behavior for ediff-inferior-compare-regions when merging with an ancestor

From: Dave Abrahams <[email-masked]>
Date: Mon, 23 Apr 2012 15:28:26 -0400

The default, when "comparing currently-highlighted difference regions"
was to compare the selected region to the entire conflict in the merge
buffer.  Now it simply compares the region to the highlighted part of
the ancestor buffer.
---
 lisp/vc/ediff-util.el |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index 046070d..393c8ad 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -3557,9 +3557,11 @@ Ediff Control Panel to restore highlighting."
 		 bufB ediff-buffer-B
 		 possibilities nil)))
 
-    (if (and (ediff-valid-difference-p ediff-current-difference)
+    (when (and (ediff-valid-difference-p ediff-current-difference)
 	     (y-or-n-p "Compare currently highlighted difference regions? "))
-	(setq use-current-diff-p t))
+      (setq use-current-diff-p t)
+      (if ediff-merge-with-ancestor-job
+          (setq bufB ediff-ancestor-buffer)))
 
     (setq bufA (if use-current-diff-p
 		   (ediff-clone-buffer-for-current-diff-comparison
-- 
1.7.10