diff options
Diffstat (limited to 'ext/tk/lib/tk.rb')
-rw-r--r-- | ext/tk/lib/tk.rb | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb index 47be8fd974..217c76f565 100644 --- a/ext/tk/lib/tk.rb +++ b/ext/tk/lib/tk.rb @@ -665,6 +665,10 @@ module TkPackage include TkCore extend TkPackage + def add_path(path) + Tk::AUTO_PATH.value = Tk::AUTO_PATH.to_a << path + end + def forget(package) tk_call('package', 'forget', package) nil @@ -726,9 +730,6 @@ module Tk TK_LIBRARY = INTERP._invoke("set", "tk_library") LIBRARY = INTERP._invoke("info", "library") - TCL_PACKAGE_PATH = INTERP._invoke("set", "tcl_pkgPath") - AUTO_PATH = tk_split_simplelist(INTERP._invoke("set", "auto_path")) - PLATFORM = Hash[*tk_split_simplelist(INTERP._eval('array get tcl_platform'))] JAPANIZED_TK = (INTERP._invoke("info", "commands", "kanji") != "") @@ -1379,6 +1380,21 @@ class TkVarAccess<TkVariable end end +module Tk + begin + auto_path = INTERP._invoke('set', 'auto_path') + rescue + begin + auto_path = INTERP._invoke('set', 'env(TCLLIBPATH)') + rescue + auto_path = Tk::LIBRARY + end + end + AUTO_PATH = TkVarAccess.new('auto_path', auto_path) + + TCL_PACKAGE_PATH = TkVarAccess.new('tcl_pkgPath') +end + module TkSelection include Tk extend Tk |