Re: [PATCH] gitk: Fix display of copyright symbol in non-utf-8 locales

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jonathan Nieder <jrnieder@xxxxxxxxx> writes:

>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@xxxxxxxxxxxxxxxxxxxxx>
>Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
>---
>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(-)
>
>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

I would much rather see any fault in the makefile fixed than use
source -encoding in all the various places this script might get
loaded from. THere are two characters in this file that are not ASCII
and one of them is in a comment. We could even just use (c) to
simplify this. However, \u00a9 is the correct unicode escape sequence
for tcl to get a copyright character into the script in a way that is
independent of the encoding. The escape sequence should be passed
through unchanged in any translations - tcl wants to see exactly
\u00a9 and everyone is using a copyright glyph here. 
-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]