Thread (4 messages) 4 messages, 2 authors, 2016-06-15

[PATCH 2/2] gitk: Provide a default mc function if msgcat is not available

flat view
STALE3768d

From: Bernt Hansen <hidden>
Date: 2016-06-15 22:47:36
Subsystem: the rest · Maintainer: Linus Torvalds

Msgcat is available since Tcl 8.1.  For really old versions of Tcl
provide a default mc that just returns the text untranslated.  This
allows the Tcl version check to return the error in a window instead
of making Tcl abort when attempting to load the msgcat package.

Signed-off-by: Bernt Hansen <redacted>
---
I'm not sure if we care about Tcl versions older than 8.1 but this at
least shows the error in the window with the [OK] button.

 gitk |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/gitk b/gitk
index d4cd566..bff891d 100755
--- a/gitk
+++ b/gitk
@@ -11019,10 +11019,15 @@ if { [info exists ::env(GITK_MSGSDIR)] } {
 
 ## 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
+if {[catch {package require msgcat}]} {
+    proc mc {arg} {
+	return $arg
+    }
+} else {
+    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]} {
-- 
1.6.5.1.69.g36942
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help