public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: LorenzoPegorari <lorenzo.pegorari2002@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [GSoC PATCH 0/2] diff: handle ANSI chars in prefix when calculating diffstat width
Date: Mon, 23 Feb 2026 21:17:43 -0800	[thread overview]
Message-ID: <xmqqwm02k9e0.fsf@gitster.g> (raw)
In-Reply-To: <cover.1771894207.git.lorenzo.pegorari2002@gmail.com> (LorenzoPegorari's message of "Tue, 24 Feb 2026 02:09:46 +0100")

LorenzoPegorari <lorenzo.pegorari2002@gmail.com> writes:

> This patch aims to fix a bug where the calculation of the diffstat width
> incorrectly uses the strlen() of line_prefix instead of its actual
> display width.
>
> This patch addresses the NEEDSWORK item added by ce8529b2 (diff: leave
> NEEDWORK notes in show_stats() function, 2022-10-21).
>
> Also, this bug was reported and suggested to me by Junio C Hamano here:
> https://lore.kernel.org/git/xmqqikd3ermt.fsf@gitster.g/
>
> Junio, do you wish to be included in this patch by a Reported-by and/or
> Suggested-by tag?

Neither.  I didn't report or suggest anything recently.  I merely
pointed at one out of the two NEEDSWORK comments that was written
long time ago when you addressed the other one.

>   diff: handle ANSI chars in prefix when calculating diffstat width
>   t4074: add test for diffstat width when prefix contains ANSI chars

"ANSI chars" is a phrase that was hard to understand, as the theme
of this was paged out of my working memory a long time ago ;-).  I
think the issue is that strings with ANSI color escape sequences are
used in "log --graph" and other output, and in order to measure how
many display columns these strings occupy, we must not be using
strlen() but utr8_strnwidth() that knows how to count UTF-8 chars
(whose display widths do not match the number of bytes) as well as
that these color escape sequences do not occupy any display width?

Anyway, thanks for working on these patches.

  parent reply	other threads:[~2026-02-24  5:17 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24  1:09 [GSoC PATCH 0/2] diff: handle ANSI chars in prefix when calculating diffstat width LorenzoPegorari
2026-02-24  1:11 ` [GSoC PATCH 1/2] " LorenzoPegorari
2026-02-24  1:20 ` [GSoC PATCH 2/2] t4074: add test for diffstat width when prefix contains ANSI chars LorenzoPegorari
2026-02-24  5:43   ` Junio C Hamano
2026-02-25  2:18     ` Lorenzo Pegorari
2026-02-24  5:17 ` Junio C Hamano [this message]
2026-02-27 16:01 ` [GSoC PATCH v2 0/2] diff: handle UTF-8 chars in prefix when calculating diffstat width LorenzoPegorari
2026-02-27 16:04   ` [GSoC PATCH v2 1/2] " LorenzoPegorari
2026-02-27 16:08   ` [GSoC PATCH v2 2/2] t4052: add test for diffstat width when prefix contains UTF-8 chars LorenzoPegorari
2026-02-27 18:08     ` Junio C Hamano
2026-02-27 18:04   ` [GSoC PATCH v2 0/2] diff: handle UTF-8 chars in prefix when calculating diffstat width Junio C Hamano
2026-02-27 21:43   ` [GSoC PATCH v3 0/2] diff: handle ANSI escape codes " LorenzoPegorari
2026-02-27 21:45     ` [GSoC PATCH v3 1/2] " LorenzoPegorari
2026-02-27 21:48     ` [GSoC PATCH v3 2/2] t4052: test for diffstat width when prefix contains ANSI escape codes LorenzoPegorari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqwm02k9e0.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=lorenzo.pegorari2002@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox