]> git.ipfire.org Git - thirdparty/git.git/commit
git-gui: use -profile tcl8 on encoding conversions
authorMark Levedahl <mlevedahl@gmail.com>
Sat, 31 May 2025 19:18:31 +0000 (15:18 -0400)
committerMark Levedahl <mlevedahl@gmail.com>
Thu, 31 Jul 2025 17:51:03 +0000 (13:51 -0400)
commitcc41d374fa9e130cf9b89da5cbcf7694257b7df1
tree05e12dcc0fead71a2f2fae976f654d2c91557270
parent24b10786bc4b0176db1f36a51911c75de0abcba5
git-gui: use -profile tcl8 on encoding conversions

git-gui in the prior commit learned to apply -profile tcl8 when reading
files, avoiding errors on non-binary data streams whose encoding is not
utf-8. But, git-gui also consumes binary data streams (generally blobs
from commits) as the output of commands, and internally decodes this to
support various displays.

With Tcl9, errors occur in this decoding for the same reasons described
in the previous commit: basically, the underlying data may contain
extended ascii characters violating the assumption of utf-8 encoding.

This problem has a similar fix to the prior issue: we must use the tlc8
profile when converting this data to the internal unicode format. Do so,
again only on Tcl9 as Tcl8.6 does not recognize -profile, and only Tcl
9.0 makes strict the default.

Signed-off-by: Mark Levedahl <mlevedahl@gmail.com>
git-gui.sh
lib/blame.tcl
lib/commit.tcl