GNU bug report logs - #77465
29.4; VC annotate does not display tabs properly

Previous Next

Package: emacs;

Reported by: Tom Tromey <tromey <at> adacore.com>

Date: Wed, 2 Apr 2025 16:32:01 UTC

Severity: normal

Found in version 29.4

Full log


View this message in rfc822 format

From: Tom Tromey <tromey <at> adacore.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 77465 <at> debbugs.gnu.org, Tom Tromey <tromey <at> adacore.com>
Subject: bug#77465: 29.4; VC annotate does not display tabs properly
Date: Thu, 03 Apr 2025 08:56:12 -0600
>> b88e9cded7ae (Paul Eggert             2016-01-26  230)    /* Work around a bug in glibc's malloc.  MALLOC_CHECK_ must be

Eli> AFAICT, "git annotate" produces the same effect when invoked from the
Eli> shell prompt.  I'm not sure we should try to be "holier than the Pope"
Eli> here.

I see it as being along the line of font-locking the annotation buffer
by age -- it's a display feature to help make the output more readable.
That is, git may do the wrong thing but Emacs doesn't have to.

>> One simple fix would be to ensure that the margin text is always a
>> multiple of 8.

Eli> I don't think this is practical, since Git doesn't guarantee the
Eli> prefix of a line to be of a fixed width.

I didn't realize that.

>> However, a more sophisticated approach may be possible as well.

Eli> The only idea I have is to replace each tab with a suitable number of
Eli> spaces, but that would probably make this command much slower, since
Eli> the buffer created by "C-x v =" is typically very large.

Eli> Any other ideas?

It's been a long time since I dug into this kind of thing but I was
wondering if there is some kind of display and/or text property feature
that would help.

Maybe putting a :align-to on the space following the ")" would help.

Note that, at least in the repositories I use, annotation display is
already slow enough (presumably due to extensive history in git) that
another minor slowdown to find the correct width would not really be
noticeable.

Tom




This bug report was last modified 78 days ago.

Previous Next


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