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.
This commit is contained in:
Noam Postavsky 2018-05-11 21:56:56 -04:00
parent ddc4371a89
commit 591bb3d900

View file

@ -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