GNU bug report logs - #22978
25.0.92; log-view-diff: TMM required for non-consecutive revisions

Previous Next

Package: emacs;

Reported by: Bob Rogers <rogers <at> modulargenetics.com>

Date: Thu, 10 Mar 2016 17:13:01 UTC

Severity: minor

Tags: patch, wontfix

Found in version 25.0.92

Done: Noam Postavsky <npostavs <at> gmail.com>

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 22978 in the body.
You can then email your comments to 22978 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#22978; Package emacs. (Thu, 10 Mar 2016 17:13:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Bob Rogers <rogers <at> modulargenetics.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 10 Mar 2016 17:13:02 GMT) Full text and rfc822 format available.

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

From: Bob Rogers <rogers <at> modulargenetics.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.0.92; log-view-diff:  TMM required for non-consecutive revisions
Date: Thu, 10 Mar 2016 12:12:15 -0500
   1.  "emacs -Q" in a current Emacs working copy.

   2.  "C-x C-f BUGS RET"

   3.  "C-x v l" to create its log buffer.

   4.  "M-x transient-mark-mode RET" to disable transient mark mode.

   5.  "n n n M-<" to mark the fourth most recent commit (for me this is
19b9c46 by Julien Danjou on Dec 3 2010) and move point back to the most
recent commit.

   6.  "=" to get a diff.  This will show a hunk starting with the
deleted line "You can read the read the ..." which is just the most
recent revision.

   7.  Type "M-x transient-mark-mode RET" and then "C-x o =" to show the
expected diff between the two selected revisions.  If mark is on the
same commit, this will include the whole file.

   The documentation for log-view-diff implies that this is the correct
behavior (since the region is perpetually inactive if TMM is disabled),
but this is extremely non-featureful, as there is then no way to find
the diff between two non-consecutive revisions without enabling TMM.
The patch included at the bottom restores the original behavior for us
non-TMM users while keeping TMM behavior.

   The behavior is the same in 25.0.92 and a recent repo version; both
configuration summaries are included.  The patch was developed in
25.0.92 and the instructions above in the repo.

					-- Bob Rogers
					   Modular Genetics Inc.
					   http://www.modulargenetics.com/

================

In GNU Emacs 25.0.92.1 (x86_64-suse-linux-gnu, GTK+ Version 2.24.28)
 of 2016-03-04 built on persepolis
Windowing system distributor 'The X.Org Foundation', version 11.0.11601000
System Description:	openSUSE 13.2 (Harlequin) (x86_64)

Configured using:
 'configure --with-pop --without-dbus --prefix=/usr
 --infodir=/usr/share/info --mandir=/usr/share/man
 --sharedstatedir=/var/lib --libexecdir=/usr/lib --with-x --with-xpm=no
 --with-jpeg --with-tiff --with-gif=no --with-png --with-x-toolkit=yes
 --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib64 --build
 x86_64-suse-linux 'CFLAGS=-g -O2 -fno-optimize-sibling-calls'
 LDFLAGS=-s'

Configured features:
JPEG TIFF PNG RSVG SOUND GSETTINGS NOTIFY FREETYPE XFT ZLIB
TOOLKIT_SCROLL_BARS GTK2 X11

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix

================

In GNU Emacs 25.1.50.1 (x86_64-suse-linux-gnu, GTK+ Version 2.24.28)
 of 2016-03-06 built on orion
Repository revision: 7882dc625e1ec562fcd0e1b743ef11b160cae18e
Windowing system distributor 'The X.Org Foundation', version 11.0.11601000
System Description:	openSUSE 13.2 (Harlequin) (x86_64)

Configured features:
XPM JPEG TIFF GIF PNG SOUND GSETTINGS NOTIFY FREETYPE XFT ZLIB
TOOLKIT_SCROLL_BARS GTK2 X11

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

================
diff -u --label /usr/share/emacs/25.0.92/lisp/vc/log-view.el.gz --label \#\<buffer\ log-view.el.gz\> /tmp/rogers/jka-com15891oVD /tmp/rogers/buffer-content-15891CqP
--- /usr/share/emacs/25.0.92/lisp/vc/log-view.el.gz
+++ #<buffer log-view.el.gz>
@@ -591,7 +591,9 @@
 file(s)."
   (interactive
    (list (if (use-region-p) (region-beginning) (point))
-         (if (use-region-p) (region-end) (point))))
+         (if (use-region-p)
+	     (region-end)
+	     (or (and (not transient-mark-mode) (mark)) (point)))))
   (log-view-diff-common beg end))
 
 (defun log-view-diff-changeset (beg end)

Diff finished.  Thu Mar 10 12:01:03 2016




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22978; Package emacs. (Wed, 20 Jun 2018 04:01:01 GMT) Full text and rfc822 format available.

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

From: Noam Postavsky <npostavs <at> gmail.com>
To: Bob Rogers <rogers <at> modulargenetics.com>
Cc: 22978 <at> debbugs.gnu.org
Subject: Re: bug#22978: 25.0.92;
 log-view-diff:  TMM required for non-consecutive revisions
Date: Wed, 20 Jun 2018 00:00:25 -0400
Bob Rogers <rogers <at> modulargenetics.com> writes:

>    The documentation for log-view-diff implies that this is the correct
> behavior (since the region is perpetually inactive if TMM is disabled),
> but this is extremely non-featureful, as there is then no way to find
> the diff between two non-consecutive revisions without enabling TMM.

You can still use C-SPC C-SPC to activate the mark temporarily.

> The patch included at the bottom restores the original behavior for us
> non-TMM users while keeping TMM behavior.

Not sure if it makes sense to change this.

> --- /usr/share/emacs/25.0.92/lisp/vc/log-view.el.gz
> +++ #<buffer log-view.el.gz>
> @@ -591,7 +591,9 @@
>  file(s)."
>    (interactive
>     (list (if (use-region-p) (region-beginning) (point))
> -         (if (use-region-p) (region-end) (point))))
> +         (if (use-region-p)
> +	     (region-end)
> +	     (or (and (not transient-mark-mode) (mark)) (point)))))
>    (log-view-diff-common beg end))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22978; Package emacs. (Wed, 20 Jun 2018 16:26:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Noam Postavsky <npostavs <at> gmail.com>
Cc: rogers <at> modulargenetics.com, 22978 <at> debbugs.gnu.org
Subject: Re: bug#22978: 25.0.92;
 log-view-diff:  TMM required for non-consecutive revisions
Date: Wed, 20 Jun 2018 19:25:17 +0300
> From: Noam Postavsky <npostavs <at> gmail.com>
> Date: Wed, 20 Jun 2018 00:00:25 -0400
> Cc: 22978 <at> debbugs.gnu.org
> 
> > The patch included at the bottom restores the original behavior for us
> > non-TMM users while keeping TMM behavior.
> 
> Not sure if it makes sense to change this.

My problem with the change is that there seems to be no escape from
it.  And since in any buffer, the mark gets set pretty soon after one
starts to move around, it means users who turn off transient-mark-mode
will have no reasonable way of diffing the revision at point with the
previous one.  By contrast, the current behavior allows you to get
diffs between revisions at region edges by "C-SPC C-SPC" etc.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#22978; Package emacs. (Wed, 27 Jun 2018 20:05:02 GMT) Full text and rfc822 format available.

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

From: Bob Rogers <rogers <at> modulargenetics.com>
To: Noam Postavsky <npostavs <at> gmail.com>,
    Eli Zaretskii <eliz <at> gnu.org>
Cc: 22978 <at> debbugs.gnu.org
Subject: Re: bug#22978: 25.0.92;
 log-view-diff:  TMM required for non-consecutive revisions
Date: Wed, 27 Jun 2018 16:04:19 -0400
   From: Eli Zaretskii <eliz <at> gnu.org>
   Date: Wed, 20 Jun 2018 19:25:17 +0300

   . . .

   My problem with the change is that there seems to be no escape from
   it.  And since in any buffer, the mark gets set pretty soon after one
   starts to move around, it means users who turn off transient-mark-mode
   will have no reasonable way of diffing the revision at point with the
   previous one.

"C-SPC =" ?

   By contrast, the current behavior allows you to get diffs between
   revisions at region edges by "C-SPC C-SPC" etc.

So that means it's a difference of typing "C-SPC" once for the single
revision versus typing it twice for multiple revisions.  I might argue
that the latter is more backward-compatible, but I don't actually
believe this is worth arguing about.  Sorry for the noise.

					-- Bob




Added tag(s) wontfix. Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 10 Jul 2018 02:22:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 22978 <at> debbugs.gnu.org and Bob Rogers <rogers <at> modulargenetics.com> Request was from Noam Postavsky <npostavs <at> gmail.com> to control <at> debbugs.gnu.org. (Tue, 10 Jul 2018 02:22:01 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. (Tue, 07 Aug 2018 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 316 days ago.

Previous Next


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