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