[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25493: 26.0.50; ediff merge should (optionally) show ancestor in fou
From: |
npostavs |
Subject: |
bug#25493: 26.0.50; ediff merge should (optionally) show ancestor in fourth window |
Date: |
Sat, 04 Mar 2017 18:06:50 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Tino Calancha <tino.calancha@gmail.com> writes:
> Philipp Stephani <p.stephani2@gmail.com> writes:
>
>> It would be very useful if ediff merge could optionally display the
>> ancestor in a fourth window, like vimdiff or meld. See
>> https://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00204.html.
>
> Following patch, by default, display the ancestor buffer and auto refine
> it in 3way merges.
> This feature can be disabled by customizing a new option.
Could you perhaps explain more in the commit messages about how the
patch works, at a high level? It's long enough that I get lost while
reading it.
As a user, I noticed that `ediff-scroll-vertically' doesn't scroll the
ancestor buffer.
Also, I want diff refining in buffer A and B against the ancestor, not
each other. This might be more of an addtional feature request that
doesn't necessarily need to addressed in your patch though.
> Subject: [PATCH 1/3] Show ancestor buffer in 3way merges
>
> Add an option to control if the ancestor buffer must
> be shown in 3way merges (Bug#25493).
> Add an option to control whether if show or ignore diffs with
^^
s/if/to/ I think?
>
> +(defsubst ediff--check-ancestor-exists ()
I don't think there is reason for this to be a defsubst over a defun.
> +
> +(defun ediff-toggle-show-ancestor ()
> + (when (eq ediff-show-ancestor
> + (alist-get 'ediff-show-ancestor alist))
> + (assq-delete-all 'ediff-show-ancestor alist)
I think this should be (setq alist (assq-delete-all ...))
or equivalently (cl-callf assq-delete-all alist 'ediff-show-ancestor)
> +(defun ediff-toggle-hide-equal-diffs-with-ancestor ()
> + (when (eq ediff-hide-equal-diffs-with-ancestor
> + (alist-get 'ediff-hide-equal-diffs-with-ancestor
> + alist))
> + (assq-delete-all 'ediff-hide-equal-diffs-with-ancestor
> + alist)
Again here.
- bug#25493: 26.0.50; ediff merge should (optionally) show ancestor in fourth window,
npostavs <=