GNU bug report logs -
#25493
26.0.50; ediff merge should (optionally) show ancestor in fourth window
Previous Next
Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>
Date: Fri, 20 Jan 2017 11:19:01 UTC
Severity: wishlist
Found in version 26.0.50
Done: Tino Calancha <tino.calancha <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Tino Calancha <tino.calancha <at> gmail.com> writes:
> Philipp Stephani <p.stephani2 <at> 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.
This bug report was last modified 8 years and 122 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.