git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH/RFC] git-blame.el: truncate author to avoid jagged left edge of code

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jun 10, 2012, 08:24 UTC
Message-ID
<20120610082437.GA29674@burratino>
In-Reply-To
<20110211022928.GA24775@elie>

Without this patch, the author column in git-blame-mode spills over in some rows:

	822a7d <ramsay@ramsay1.demon.co.uk>:const char git_usage_
	f2dd8c <jon.seymour@gmail.com>: "git [--version] [--exec-
	a1bea2 <josh@joshtriplett.org>: "           [-p|--paginat
	a1bea2 <josh@joshtriplett.org>: "           [--git-dir=<p
	293b07 <trast@student.ethz.ch>: "           [-c name=valu
	62b469 <stepan.nemec@gmail.com>:        "           <comm
	822a7d <ramsay@ramsay1.demon.co.uk>:

As a result, code meant to line up does not line up correctly and the colored code area has a jagged left edge.

Specify a maximum width for the autohr email address in the default blame prefix (i.e., use %20.20A instead of %20A) to fix it.

	822a7d <ramsay@ramsay1.demon.c:const char git_usage_strin
	f2dd8c <jon.seymour@gmail.com>: "git [--version] [--exec-

The (format) function used to implement format-spec has supported precision specifiers like ".20" in emacs since 2002-12-09, so this should be safe.

Helped-by: Kevin Ryde <user42@zip.com.au>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
In February of 2011, I wrote:
>  - email addresses are often longer than 20 characters.  Does
>    format-spec provide a way to truncate to a certain length,
>    so the prefixes can line up?
Better late than never, I guess.  Sensible?
 contrib/emacs/git-blame.el |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/emacs/git-blame.el b/contrib/emacs/git-blame.el
index d351cfb6..137d5ba9 100644
--- a/contrib/emacs/git-blame.el
+++ b/contrib/emacs/git-blame.el
@@ -102,7 +102,7 @@
   :group 'git-blame)
 
 (defcustom git-blame-prefix-format
-  "%h %20A:"
+  "%h %20.20A:"
   "The format of the prefix added to each line in `git-blame'
 mode. The format is passed to `format-spec' with the following format keys:
 
-- 
1.7.10
Previous: Martin NordholtsNext: David Kågedal
Message 20 of 24 in “git-blame.el: what is format-spec?”
  1. Sergei OrganovDec 4, 2009
  2. Andreas SchwabDec 4, 2009
  3. Sergei OrganovDec 4, 2009
  4. David KågedalDec 4, 2009
  5. Sergei OrganovDec 4, 2009
  6. David KågedalDec 6, 2009
  7. Sergei OrganovDec 7, 2009
  8. David KågedalDec 7, 2009
  9. Alex UnleashedMay 14, 2010
  10. git-blame.el: Add (require 'format-spec)David Kågedal, May 25, 2010
  11. git-blame.el: Add (require 'format-spec)Jonathan Nieder, Oct 29, 2010
  12. git-blame.el: does not show one-line summary in echo areaJonathan Nieder, Feb 4, 2011
  13. David KågedalFeb 4, 2011
  14. Jakub NarebskiFeb 4, 2011
  15. David KågedalFeb 4, 2011
  16. David KågedalFeb 4, 2011
  17. Jonathan NiederFeb 11, 2011
  18. git-blame.el: format of date stringsJonathan Nieder, Feb 11, 2011
  19. Martin NordholtsFeb 11, 2011
  20. git-blame.el: truncate author to avoid jagged left edge of codeJonathan Nieder, Jun 10, 2012
  21. David KågedalJan 29, 2013
  22. Kevin RydeFeb 4, 2011
  23. Andreas SchwabDec 4, 2009
  24. Matthieu MoyDec 4, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.