From: Bernt Hansen <bernt@norang.ca>
To: git@vger.kernel.org
Cc: Paul Mackerras <paulus@samba.org>, Bernt Hansen <bernt@norang.ca>
Subject: [PATCH 1/2] gitk: Initialize msgcat before first use
Date: Sat, 24 Oct 2009 16:20:39 -0400 [thread overview]
Message-ID: <1256415640-10328-2-git-send-email-bernt@norang.ca> (raw)
In-Reply-To: <1256415640-10328-1-git-send-email-bernt@norang.ca>
The error text generated when your version of Tcl is too old is
translated with msgcat (mc) before msgcat is initialized. This
causes Tcl to abort with:
Error in startup script: invalid command name "mc"
We now initialize msgcat first before we check the Tcl version. Msgcat
is available since Tcl 8.1.
Signed-off-by: Bernt Hansen <bernt@norang.ca>
---
gitk | 41 +++++++++++++++++++++--------------------
1 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/gitk b/gitk
index a0214b7..d4cd566 100755
--- a/gitk
+++ b/gitk
@@ -11004,7 +11004,27 @@ proc get_path_encoding {path} {
return $tcl_enc
}
-# First check that Tcl/Tk is recent enough
+# First setup up mc for translating text
+## For msgcat loading, first locate the installation location.
+if { [info exists ::env(GITK_MSGSDIR)] } {
+ ## Msgsdir was manually set in the environment.
+ set gitk_msgsdir $::env(GITK_MSGSDIR)
+} else {
+ ## Let's guess the prefix from argv0.
+ set gitk_prefix [file dirname [file dirname [file normalize $argv0]]]
+ set gitk_libdir [file join $gitk_prefix share gitk lib]
+ set gitk_msgsdir [file join $gitk_libdir msgs]
+ unset gitk_prefix
+}
+
+## Internationalization (i18n) through msgcat and gettext. See
+## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html
+package require msgcat
+namespace import ::msgcat::mc
+## And eventually load the actual message catalog
+::msgcat::mcload $gitk_msgsdir
+
+# Check that Tcl/Tk is recent enough
if {[catch {package require Tk 8.4} err]} {
show_error {} . [mc "Sorry, gitk cannot run with this version of Tcl/Tk.\n\
Gitk requires at least Tcl/Tk 8.4."]
@@ -11096,25 +11116,6 @@ if {[tk windowingsystem] eq "aqua"} {
set ctxbut <Button-3>
}
-## For msgcat loading, first locate the installation location.
-if { [info exists ::env(GITK_MSGSDIR)] } {
- ## Msgsdir was manually set in the environment.
- set gitk_msgsdir $::env(GITK_MSGSDIR)
-} else {
- ## Let's guess the prefix from argv0.
- set gitk_prefix [file dirname [file dirname [file normalize $argv0]]]
- set gitk_libdir [file join $gitk_prefix share gitk lib]
- set gitk_msgsdir [file join $gitk_libdir msgs]
- unset gitk_prefix
-}
-
-## Internationalization (i18n) through msgcat and gettext. See
-## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html
-package require msgcat
-namespace import ::msgcat::mc
-## And eventually load the actual message catalog
-::msgcat::mcload $gitk_msgsdir
-
catch {source ~/.gitk}
font create optionfont -family sans-serif -size -12
--
1.6.5.1.69.g36942
next prev parent reply other threads:[~2009-10-24 20:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-24 20:20 [PATCH 0/2] gitk: Fix error display when Tcl is too old Bernt Hansen
2009-10-24 20:20 ` Bernt Hansen [this message]
2009-10-31 21:34 ` [PATCH 1/2] gitk: Initialize msgcat before first use Pat Thoyts
2009-11-01 13:09 ` Bernt Hansen
2009-11-02 12:41 ` [PATCH] Skip translation of wrong Tcl version text Bernt Hansen
2009-11-03 11:31 ` Paul Mackerras
2009-10-24 20:20 ` [PATCH 2/2] gitk: Provide a default mc function if msgcat is not available Bernt Hansen
2009-10-24 22:08 ` Junio C Hamano
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=1256415640-10328-2-git-send-email-bernt@norang.ca \
--to=bernt@norang.ca \
--cc=git@vger.kernel.org \
--cc=paulus@samba.org \
/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;
as well as URLs for NNTP newsgroup(s).