Subject: Re: bug#4642: diff from log-view somtime diffs the wrong file
From: Dan Nicolaescu <[email-masked]>
To: Stefan Monnier <[email-masked]>
Cc: [email-masked]
Date: Mon, 5 Oct 2009 08:14:20 -0700 (PDT)

Stefan Monnier <[email-masked]> writes:

  > > One way to fix this is to make log-view-diff not call vc-version-diff,
  > > but vc-diff-internal, like so:
  > 
  > That looks OK.  

Thanks, checked in.

  > But we should also either fix vc-version-diff so it doesn't ignore
  > its `files' argument, or otherwise remove that argument

Can you please do that, it's unclear to me how to fix this.

  > (which will be a good opportunity to go and fix the other callers).

Luckily there's only 2 callers: vc-diff and vc-root-diff (which is
clearly marked as not working correctly with vc-version-diff...).

  > 
  >         Stefan
  > 
  > 
  > > --- log-view.el.~1.60.~    2009-10-03 03:20:50.000000000 -0700
  > > +++ log-view.el            2009-10-04 19:20:58.000000000 -0700
  > > @@ -496,11 +496,12 @@ changeset that affected the currently co
  > >          (goto-char end)
  > >          (log-view-msg-next)
  > >          (setq to (log-view-current-tag))))
  > > -    (vc-version-diff
  > > -     (if log-view-per-file-logs
  > > -      (list (log-view-current-file))
  > > -       log-view-vc-fileset)
  > > -       to fr)))
  > > +    (vc-diff-internal
  > > +     t (list log-view-vc-backend
  > > +          (if log-view-per-file-logs
  > > +               (list (log-view-current-file))
  > > +                      log-view-vc-fileset))
  > > +     to fr)))
  >  
  > >  (declare-function vc-diff-internal "vc"
  > >                     (async vc-fileset rev1 rev2 &optional verbose))
  > 
  > > OK to check in?