emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 591bb3d: Let ediff '=' compare against ancestor buf


From: Noam Postavsky
Subject: [Emacs-diffs] master 591bb3d: Let ediff '=' compare against ancestor buffer (Bug#11320)
Date: Thu, 28 Jun 2018 22:11:06 -0400 (EDT)

branch: master
commit 591bb3d90018ebbcf79e6d496ed73ef396a58887
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Let ediff '=' compare against ancestor buffer (Bug#11320)
    
    * lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Ask user
    whether to compare against the ancestor or merge buffer.  Use
    read-multiple-choice for A vs B buffer query.
---
 lisp/vc/ediff-util.el | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index 104a578..b1652e7 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -3546,25 +3546,19 @@ Ediff Control Panel to restore highlighting."
     (ediff-paint-background-regions 'unhighlight)
 
     (cond ((ediff-merge-job)
-          (setq bufB ediff-buffer-C)
           ;; ask which buffer to compare to the merge buffer
-          (while (cond ((eq answer ?A)
-                        (setq bufA ediff-buffer-A
-                              possibilities '(?B))
-                        nil)
-                       ((eq answer ?B)
-                        (setq bufA ediff-buffer-B
-                              possibilities '(?A))
-                        nil)
-                       ((equal answer ""))
-                       (t (beep 1)
-                          (message "Valid values are A or B")
-                          (sit-for 2)
-                          t))
-            (let ((cursor-in-echo-area t))
-              (message
-               "Which buffer to compare to the merge buffer (A or B)? ")
-              (setq answer (capitalize (read-char-exclusive))))))
+          (setq answer (read-multiple-choice
+                         "Which buffer to compare?"
+                         '((?a "A")
+                           (?b "B"))))
+           (if (eq (car answer) ?a)
+               (setq bufA ediff-buffer-A)
+             (setq bufA ediff-buffer-B))
+           (setq bufB (if (and ediff-ancestor-buffer
+                               (y-or-n-p (format "Compare %s against ancestor 
buffer?"
+                                                 (cadr answer))))
+                          ediff-ancestor-buffer
+                        ediff-buffer-C)))
 
          ((ediff-3way-comparison-job)
           ;; ask which two buffers to compare



reply via email to

[Prev in Thread] Current Thread [Next in Thread]