diff options
author | Steve Bennett <steveb@workware.net.au> | 2014-10-30 19:48:54 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2014-10-30 19:49:25 +1000 |
commit | e60018c2797b6edb2d05336178c88e429ba62f73 (patch) | |
tree | 9e33b190229f3b574381deeb5b8a7f574cb2e00b /initjimsh.tcl | |
parent | 7cc11e7898250b5551da49ce1e719fcd8311c664 (diff) | |
download | jimtcl-e60018c2797b6edb2d05336178c88e429ba62f73.zip jimtcl-e60018c2797b6edb2d05336178c88e429ba62f73.tar.gz jimtcl-e60018c2797b6edb2d05336178c88e429ba62f73.tar.bz2 |
initjimsh: jim::argv0 is not always available
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'initjimsh.tcl')
-rw-r--r-- | initjimsh.tcl | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/initjimsh.tcl b/initjimsh.tcl index 7423dfb..f929a27 100644 --- a/initjimsh.tcl +++ b/initjimsh.tcl @@ -6,22 +6,25 @@ proc _jimsh_init {} { global jim::exe jim::argv0 tcl_interactive auto_path tcl_platform # Stash the result of [info nameofexecutable] now, before a possible [cd] - if {[string match "*/*" $jim::argv0]} { - set jim::exe [file join [pwd] $jim::argv0] - } else { - set jim::exe "" - foreach path [split [env PATH ""] $tcl_platform(pathSeparator)] { - set exec [file join [pwd] [string map {\\ /} $path] $jim::argv0] - if {[file executable $exec]} { - set jim::exe $exec - break + if {[exists jim::argv0]} { + if {[string match "*/*" $jim::argv0]} { + set jim::exe [file join [pwd] $jim::argv0] + } else { + foreach path [split [env PATH ""] $tcl_platform(pathSeparator)] { + set exec [file join [pwd] [string map {\\ /} $path] $jim::argv0] + if {[file executable $exec]} { + set jim::exe $exec + break + } } } } # Add to the standard auto_path lappend p {*}[split [env JIMLIB {}] $tcl_platform(pathSeparator)] - lappend p [file dirname $jim::exe] + if {[exists jim::exe]} { + lappend p [file dirname $jim::exe] + } lappend p {*}$auto_path set auto_path $p |