GNU bug report logs -
#20470
24.5; VC log buffer no longer scrolls itself
Previous Next
Reported by: Raoul Gough <raoulgough <at> yahoo.co.uk>
Date: Thu, 30 Apr 2015 15:31:03 UTC
Severity: minor
Tags: wontfix
Found in version 24.5
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 20470 in the body.
You can then email your comments to 20470 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Thu, 30 Apr 2015 15:31:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Raoul Gough <raoulgough <at> yahoo.co.uk>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 30 Apr 2015 15:31:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
How to reproduce: open a file checked out from RCS, hit C-x v l (or
equivalently M-x vc-print-log RET) and notice that the cursor ends up at
the start of the *vc-change-log* buffer. It should jump to the log
message for the current revision, which was the case until the fix for
bug #15322 "VC log buffer scrolls itself"
Clearly some people don't like the original feature, so I propose that
this feature be made optional instead of unconditionally disabled.
The particular revision control system doesn't really matter, I picked
RCS because it's minimal. If you don't have a file in RCS already, but
have RCS tools installed and a UNIX-like shell, you can do the
following:
$ touch foo
$ ci -l -t-foo foo
$ emacs foo
(then proceed with the C-x v l)
In GNU Emacs 24.5.1 (i686-apple-darwin, NS apple-appkit-1038.36)
of 2015-04-10 on builder10-6.porkrind.org
Windowing system distributor `Apple', version 10.3.1038
Configured using:
`configure --with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp' --host=i686-apple-darwin
--build=i686-apple-darwin --with-jpeg=no --with-png=no --with-gif=no
--with-tiff=no'
Important settings:
locale-coding-system: utf-8-unix
Major mode: Log-View
Minor modes in effect:
iswitchb-mode: t
delete-selection-mode: t
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
Type C-x 1 to delete the help window.
Quit
Setting up indent for shell type sh
Indentation variables are now local.
Indentation setup for shell type sh
Mark set [2 times]
Beginning of buffer [5 times]
End of buffer [2 times]
Beginning of buffer [4 times]
<A-C-M-drag-n-drop> is undefined
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils log-view easy-mmode pcvs-util vc vc-dispatcher
vc-rcs sh-script smie executable help-mode help-fns edmacro kmacro
iswitchb delsel python easymenu json comint ansi-color ring desktop
frameset cl-loaddefs cl-lib rmg-utils time-date tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
cocoa ns multi-tty emacs)
Memory information:
((conses 8 91293 3952)
(symbols 24 19601 0)
(miscs 20 109 177)
(strings 16 17438 3541)
(string-bytes 1 507342)
(vectors 8 12412)
(vector-slots 4 421722 3144)
(floats 8 62 522)
(intervals 28 278 6)
(buffers 512 15))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Thu, 30 Apr 2015 16:05:05 GMT)
Full text and
rfc822 format available.
Message #8 received at 20470 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
I've attached a propose patch to fix this bug, which makes the jump-to-revision configurable (defaulting to off)
[vc.el.20470.patch (application/octet-stream, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Fri, 01 May 2015 17:54:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 20470 <at> debbugs.gnu.org (full text, mbox):
> How to reproduce: open a file checked out from RCS, hit C-x v l (or
> equivalently M-x vc-print-log RET) and notice that the cursor ends up at
> the start of the *vc-change-log* buffer. It should jump to the log
> message for the current revision, which was the case until the fix for
> bug #15322 "VC log buffer scrolls itself"
How far are the two positions? What's between them?
> The particular revision control system doesn't really matter,
I'm beginning to suspect it does. IIRC RCS (and CVS) put a bunch of
file-level metadata before the actual log, whereas other VCSes just put
the log right away. So for RCS/CVS it might make sense to skip to the
first actual log message, so as to reproduce the behavior of
other backends.
Skipping to the log message corresponding to "the current revision"
seems much less important (and this is the part that was problematic
with the old behavior).
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Tue, 25 Aug 2020 09:23:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 20470 <at> debbugs.gnu.org (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>> How to reproduce: open a file checked out from RCS, hit C-x v l (or
>> equivalently M-x vc-print-log RET) and notice that the cursor ends up at
>> the start of the *vc-change-log* buffer. It should jump to the log
>> message for the current revision, which was the case until the fix for
>> bug #15322 "VC log buffer scrolls itself"
>
> How far are the two positions? What's between them?
I'm popped to a buffer containing this, and point is at the start of the
buffer. So the revision itself is way down there:
RCS file: foo,v
Working file: foo
head: 1.1
branch:
locks: strict
larsi: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
foo
----------------------------
revision 1.1 locked by: larsi;
date: 2020/08/25 09:15:10; author: larsi; state: Exp;
Initial revision
>> The particular revision control system doesn't really matter,
>
> I'm beginning to suspect it does. IIRC RCS (and CVS) put a bunch of
> file-level metadata before the actual log, whereas other VCSes just put
> the log right away. So for RCS/CVS it might make sense to skip to the
> first actual log message, so as to reproduce the behavior of
> other backends.
>
> Skipping to the log message corresponding to "the current revision"
> seems much less important (and this is the part that was problematic
> with the old behavior).
Yes, I think so too. I this only makes much of a difference for
rcs/cvs, so I'm not sure it worth adding this? Not many people use
those these days...
I've respun the patch for Emacs 28, though.
Apply the patch or close the bug as a "wontfix"?
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
index 5561292d8c..6dad0cf83a 100644
--- a/lisp/vc/vc.el
+++ b/lisp/vc/vc.el
@@ -817,6 +817,12 @@ vc-log-show-limit
Not all VC backends are able to support this feature."
:type 'integer)
+(defcustom vc-log-jump-to-current nil
+ "If non-nil, `vc-print-log' moves point automatically to the
+log message for the current working revision."
+ :type 'boolean
+ :version "28.1")
+
(defcustom vc-allow-async-revert nil
"Specifies whether the diff during \\[vc-revert] may be asynchronous.
Enabling this option means that you can confirm a revert operation even
@@ -2502,8 +2508,9 @@ vc-print-log
(let* ((vc-fileset (vc-deduce-fileset t)) ;FIXME: Why t? --Stef
(backend (car vc-fileset))
(files (cadr vc-fileset))
-;; (working-revision (or working-revision (vc-working-revision (car files))))
- )
+ (working-revision
+ (or working-revision
+ (and vc-log-jump-to-current (vc-working-revision (car files))))))
(vc-print-log-internal backend files working-revision nil limit)))
;;;###autoload
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Tue, 25 Aug 2020 19:10:03 GMT)
Full text and
rfc822 format available.
Message #17 received at 20470 <at> debbugs.gnu.org (full text, mbox):
> Apply the patch or close the bug as a "wontfix"?
>
> diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el
> index 5561292d8c..6dad0cf83a 100644
> --- a/lisp/vc/vc.el
> +++ b/lisp/vc/vc.el
> @@ -817,6 +817,12 @@ vc-log-show-limit
> Not all VC backends are able to support this feature."
> :type 'integer)
>
> +(defcustom vc-log-jump-to-current nil
> + "If non-nil, `vc-print-log' moves point automatically to the
> +log message for the current working revision."
> + :type 'boolean
> + :version "28.1")
I think such option makes more sense in context of https://debbugs.gnu.org/35624#66
that proposed to insert a header line for the current working revision
where you can type 'D' to diff the working revision in vc-git logs.
But I'm still not sure whether such option is needed at all since
the long-established behavior is just to jump to the latest revision
that should be followed in all VCSs.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#20470
; Package
emacs
.
(Sun, 11 Oct 2020 03:19:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 20470 <at> debbugs.gnu.org (full text, mbox):
Juri Linkov <juri <at> linkov.net> writes:
>> Apply the patch or close the bug as a "wontfix"?
[...]
>> +(defcustom vc-log-jump-to-current nil
>> + "If non-nil, `vc-print-log' moves point automatically to the
>> +log message for the current working revision."
>> + :type 'boolean
>> + :version "28.1")
>
> I think such option makes more sense in context of
> https://debbugs.gnu.org/35624#66
> that proposed to insert a header line for the current working revision
> where you can type 'D' to diff the working revision in vc-git logs.
>
> But I'm still not sure whether such option is needed at all since
> the long-established behavior is just to jump to the latest revision
> that should be followed in all VCSs.
Yeah, the issue is mainly whether that's nice as a user interface, since
the buffer is created asynchronously, and then skipping around is
problematic (see bug#15322).
Since this only affects CVS and RCS, but the proposed fix has wider
ramifications, I'm closing this as a wontfix.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
Added tag(s) wontfix.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 11 Oct 2020 03:19:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
20470 <at> debbugs.gnu.org and Raoul Gough <raoulgough <at> yahoo.co.uk>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Sun, 11 Oct 2020 03:20:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 08 Nov 2020 12:24:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 168 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.