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

Re: Bug report: gitk unable to handle Unicode properly

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Apr 16, 2021, 23:20 UTC
Message-ID
<YHobypuPjLTdjHIJ@camp.crustytoothpaste.net>
In-Reply-To
<20210416182121.3c824c87@pc.home.lkiesow.io>
On 2021-04-16 at 16:21:21, Lars Kiesow wrote:
Show 7 quoted lines
> Hi everyone,
> while fixing some Unicode problems in a project, I noticed that gitk
> will not display Unicode characters correctly and may even crash if the
> branch name consists of Unicode characters.
> 
> I'ts certainly not the end of the world (who is crazy enough to use 🖤
> as a branch name) but could still cause problems.

I don't use gitk, but I decided to try to reproduce this nevertheless, and I'm having a bit of trouble.

Show 8 quoted lines
> What did you do before the bug happened? (Steps to reproduce your issue)
> 
> - Create a git branch named with a multi-byte Unicode character like:
> 
>         git checkout -b 🖤
> 
> - Launch gitk
>     - Crash (see below)
I don't see a crash.
Show 6 quoted lines
> - Switch to another branch
> 
>         git checkout xy
> 
> - Launch gitk
>     - Branch names are not displayed properly
I do see the emoji displayed properly.
> What did you expect to happen? (Expected behavior)
> 
> - Launching gitk, it should not crash and names like “🖤” should be
>   displayed correctly

This is the behavior I see. I'm using the Debian experimental packages of gitk 1:2.31.0+next.20210315-1 and Debian unstable's tk 8.6.11+1.

Is it possible your version of Tcl or Tk is not properly set up for this case? I know nothing about either of those; Tcl is one of the few reasonably common languages I have never worked with.

Show 13 quoted lines
> What happened instead? (Actual behavior)
> 
> - Launching while on the branch “🖤” crashed gitk.
>   The reported error is:
> 
>         X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
>           Major opcode of failed request:  139 (RENDER)
>           Minor opcode of failed request:  20 (RenderAddGlyphs)
>           Serial number of failed request:  5225
>           Current serial number in output stream:  5263
> 
> - Launching while on another branch but with the branch “🖤” makes that
>   branch appear as ⌷⌷

Can you tell us about your locale settings? On most Linux systems, running the program "locale" should show them. I would expect something bad might happen if you were not in a UTF-8 locale.

-- 
brian m. carlson (he/him or they/them)
Houston, Texas, US
Previous: Lars KiesowNext: Chris Torek
Message 2 of 4 in “Bug report: gitk unable to handle Unicode properly”
  1. Lars KiesowApr 16, 2021
  2. brian m. carlsonApr 16, 2021
  3. Chris TorekApr 17, 2021
  4. brian m. carlsonApr 17, 2021

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.