GNU bug report logs - #25493
26.0.50; ediff merge should (optionally) show ancestor in fourth window

Previous Next

Package: emacs;

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


Message #29 received at 25493 <at> debbugs.gnu.org (full text, mbox):

From: npostavs <at> users.sourceforge.net
To: Tino Calancha <tino.calancha <at> gmail.com>
Cc: Philipp Stephani <p.stephani2 <at> gmail.com>, 25493 <at> debbugs.gnu.org
Subject: Re: bug#25493: 26.0.50;
 ediff merge should (optionally) show ancestor in fourth window
Date: Sat, 11 Mar 2017 08:45:40 -0500
Tino Calancha <tino.calancha <at> gmail.com> writes:

> OK.  I have simplified the patch a lot.  I have restricted to the problem
> in hands: to show the buffer ancestor in 3way merges.  The refinement of
> this buffer must keep in the TODO list (see below).

Thanks, it's a lot more comprehensible now.

> Subject: [PATCH 2/2] Show ancestor buffer in 3way merges
>
> 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.
                                           ^^
Extra space there.

> -
> -    ;; In case of merge job, fool it into thinking that it is just doing
> -    ;; comparison
> -    (let ((ediff-setup-diff-regions-function ediff-setup-diff-regions-function)
> -	  (ediff-3way-comparison-job ediff-3way-comparison-job)
> -	  (ediff-merge-job ediff-merge-job)
> -	  (ediff-merge-with-ancestor-job ediff-merge-with-ancestor-job)
> -	  (ediff-job-name ediff-job-name))
> -      (if ediff-merge-job
> -	  (setq ediff-setup-diff-regions-function 'ediff-setup-diff-regions3
> -		ediff-3way-comparison-job t
> -		ediff-merge-job nil
> -		ediff-merge-with-ancestor-job nil
> -		ediff-job-name 'ediff-files3))
> -      (funcall ediff-setup-diff-regions-function file-A file-B file-C))
> -
> +    (funcall ediff-setup-diff-regions-function file-A file-B
> +             (if ediff-merge-with-ancestor-job file-Ancestor file-C))

It works when I tested it, so I guess this is correct, but it's not
really obvious to me why (i.e., why we no longer need to "fool it").
Could you add an explanation to the commit message?

Otherwise looks good to me.




This bug report was last modified 8 years and 121 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.