• Tino Calancha's avatar
    Show ancestor buffer in 3way merges · 0f3d1b78
    Tino Calancha authored
    Add an option ediff-show-ancestor', to control if the ancestor buffer
    must be shown in 3way merges (Bug#25493); set it non-nil by default.
    Add a toggle to change this option interactively; the original
    value of the option is restored on exit.
    
    Update the window setup so that the ancestor buffer is
    shown in 3way merges when ediff-show-ancestor is non-nil.
    
    Any operation on ediff windows must take in account the
    ancestor window as well, when this is shown.
    
    * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
    (ediff--show-ancestor-orig): New defvar.
    * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
    (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
    Display ancestor buffer if ediff-show-ancestor is non-nil.
    (ediff-keep-window-config): Expect ancestor window in
    ediff-window-config-saved.
    (ediff-window-alist): Add entry for the ancestor window.
    * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
    ediff-window-config-saved contains ancestor window.
    (ediff-show-ancestor): Delete this command.
    (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
    (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
    don't cheat it to think that is performing a comparison, that trick is not
    necessary anymore: simply call 'ediff-setup-diff-regions-function'
    with file-A, file-B and the file ancestor.
    (ediff-recenter): Update doc string.  Consider the ancestor buffer.
    (ediff--check-ancestor-exists): New defun.
    (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
    (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
    (ediff-scroll-vertically, ediff-scroll-horizontally)
    (ediff-operate-on-windows): Consider the ancestor as well.
    * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
    List ediff-toggle-show-ancestor.
    * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
    ; * etc/NEWS: Announce these changes.
    0f3d1b78
ediff-help.el 13.3 KB