Subject: bug#31764: 26.1; Point in VC change log is not centered as documented

From: Carlos Pita <[email-masked]>
Date: Fri, 8 Jun 2018 18:28:55 -0300

AFAICS what I'm observing is consistent with the docstrings of
vc-print-log and vc-print-log-internal:

vc-print-log
    It is bound to C-x v l
    ...
    If WORKING-REVISION is non-nil, leave point at that revision.
    ...
    When called interactively with a prefix argument, prompt for
    WORKING-REVISION and LIMIT.

vc-print-log-internal
   ...
   Leave point at WORKING-REVISION, if it is non-nil.

So without a prefix I'm indeed passing a nil working-revision argument
(I checked this with edebug).

Now, when I pass a prefix argument it asks me for a revision (default
is the last one) but it's again unable to set the point at that
revision. The default revision is shown as "last revision" and its
value is nil (so despite the ambiguity in the docstrings, no prefix
arg invocation should go to "last revision" too).

In the call to vc-log-internal-common goto-location-func is nil. This
is the next to last argument which is passed by vc-print-log-internal
with value:

       ;; When it's nil, point really shouldn't move (bug#15322).
       (when working-revision
         (lambda (bk)
           (vc-call-backend bk 'show-log-entry working-revision)))

So it's no surprise the point is not being moved around at all. But
the comment is not right: nil is "last revision". Now, #15322 is a
very old bug so maybe the representation of the "last revision"
changed since then?