50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
|
# Do initalisations for needed packages and globals.
# This is not run until needed to speed up command line error reporting.
proc Init {} {
if {[info exists ::eskil(initHasRun)]} {
return
}
set ::eskil(initHasRun) 1
# Follow any link
set tmplink $::eskil(thisScript)
while {[file type $tmplink] eq "link"} {
set tmplink [file readlink $tmplink]
set tmplink [file normalize [file join $::eskil(thisDir) $tmplink]]
set ::eskil(thisDir) [file dirname $tmplink]
}
set libDir [file join $::eskil(thisDir) .. lib]
if {![file isdirectory $libDir]} {
# Try the local file from devel
set libDir [file join $::eskil(thisDir) .. eskil.vfs lib]
}
::tcl::tm::path add $libDir
package require Tk 8.6
catch {package require textSearch}
package require wcb
package require snit
package require tablelist_tile
if {[catch {package require psballoon}]} {
# Add a dummy if it does not exist.
proc addBalloon {args} {}
} else {
namespace import -force psballoon::addBalloon
}
# Follow any link
set tmplink $::eskil(thisScript)
while {[file type $tmplink] eq "link"} {
set tmplink [file readlink $tmplink]
set tmplink [file normalize [file join $::eskil(thisDir) $tmplink]]
set ::eskil(thisDir) [file dirname $tmplink]
}
if {[file exists $::eskil(thisDir)/../version.txt]} {
set ch [open $::eskil(thisDir)/../version.txt]
set ::eskil(diffver) [string trim [read $ch 100]]
close $ch
}
|