diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-09-01 21:58:29 -0400 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2007-09-01 21:58:29 -0400 |
commit | fc703c209d415fe20ad5551465b5b68b8ab8b046 (patch) | |
tree | fac5252eeb50c936f4ca26f82aaca25bf5420fe8 | |
parent | git-gui: Correct 'git gui blame' in a subdirectory (diff) | |
download | tgif-fc703c209d415fe20ad5551465b5b68b8ab8b046.tar.xz |
git-gui: Locate the library directory early during startup
To support a localized version of git-gui we need to locate the
library directory early so we can initialize Tcl's msgcat package
to load translated messages from. This needs to occur before we
declare our git-version proc so that errors related to locating
git or assessing its version can be reported to the end-user in
their preferred language. However we have to keep the library
loading until after git-version has been declared, otherwise we
will fail to start git-gui if we are using a fake tclIndex that
was generated by our Makefile.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-x | git-gui.sh | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/git-gui.sh b/git-gui.sh index fa30ccc5d6..4ea6e91b01 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -44,6 +44,20 @@ if {[catch {package require Tcl 8.4} err] ###################################################################### ## +## locate our library + +set oguilib {@@GITGUI_LIBDIR@@} +set oguirel {@@GITGUI_RELATIVE@@} +if {$oguirel eq {1}} { + set oguilib [file dirname [file dirname [file normalize $argv0]]] + set oguilib [file join $oguilib share git-gui lib] +} elseif {[string match @@* $oguirel]} { + set oguilib [file join [file dirname [file normalize $argv0]] lib] +} +unset oguirel + +###################################################################### +## ## enable verbose loading? if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { @@ -595,15 +609,6 @@ You are using [git-version]: ## ## configure our library -set oguilib {@@GITGUI_LIBDIR@@} -set oguirel {@@GITGUI_RELATIVE@@} -if {$oguirel eq {1}} { - set oguilib [file dirname [file dirname [file normalize $argv0]]] - set oguilib [file join $oguilib share git-gui lib] -} elseif {[string match @@* $oguirel]} { - set oguilib [file join [file dirname [file normalize $argv0]] lib] -} - set idx [file join $oguilib tclIndex] if {[catch {set fd [open $idx r]} err]} { catch {wm withdraw .} @@ -637,7 +642,7 @@ if {$idx ne {}} { } else { set auto_path [concat [list $oguilib] $auto_path] } -unset -nocomplain oguirel idx fd +unset -nocomplain idx fd ###################################################################### ## |