[PATCH] gitk: Fix display of copyright symbol in non-utf-8 locales
Unless the ‘-encoding’ option is supplied, wish interprets source files using the default system encoding, which depends on locale. This can cause the copyright symbol to display incorrectly in gitk’s about dialog.
The -encoding option was added to tcl in version 8.1.
Reported-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Hi,
Pat Thoyts wrote:
> The script file uses utf-8 encoding but when sourced it will be read
> using the default system encoding which is never utf8 on windows. This
> causes the copyright symbol to display incorrectly in the about dialog.
I can reproduce this in Linux with LANG=de_DE@euro ./gitk.
> Using the unicode escape sequence avoids incorrect decoding but does
> require a double escape in the .po files.
When I tried applying your patch, running “make update-po” seemed to undo its effect on translations. I am also worried about what would happen in locales where ASCII is not a subset of the native character set, or other uses of non-ASCII characters in the translated messages.
Maybe the following would be safer? I haven’t looked at the effect on translations yet.
gitk | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Show changes to gitk +1 −1
diff --git a/gitk b/gitk
index 1f36a3e..a7c9a9a 100755
--- a/gitk
+++ b/gitk
@@ -1,6 +1,6 @@
#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
-exec wish "$0" -- "$@"
+exec wish -encoding utf-8 "$0" -- "$@"
# Copyright © 2005-2009 Paul Mackerras. All rights reserved.
# This program is free software; it may be used, copied, modified
--
1.7.0.2