summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-01 05:15:19 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-09-01 05:15:19 +0000
commit9138b29822aa326e23bb948ec3f25faa001702ef (patch)
tree32652e1b9cab57ef19bb6af64dab6dee8d608b28 /ext
parentd608e7cade01eaf4980be64496a032c32cb1a241 (diff)
* ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
work (gives wrong order of arguments). * ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace to support '-namespace' option of 'interp invokehidden' command on Tcl8.5. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/tk/lib/multi-tk.rb23
-rw-r--r--ext/tk/lib/tk.rb2
2 files changed, 22 insertions, 3 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb
index c82fa8f4e3..02beb8c677 100644
--- a/ext/tk/lib/multi-tk.rb
+++ b/ext/tk/lib/multi-tk.rb
@@ -2360,11 +2360,12 @@ class MultiTkIp
else
keys = []
end
+ keys << _slavearg(slave)
if Tk::TCL_MAJOR_VERSION > 8 ||
(Tk::TCL_MAJOR_VERSION == 8 && Tk::TCL_MINOR_VERSION >= 5)
keys << '--'
end
- keys << _slavearg(slave) << cmd
+ keys << cmd
keys.concat(args)
@interp._invoke('interp', 'invokehidden', *keys)
end
@@ -2378,12 +2379,13 @@ class MultiTkIp
else
keys = []
end
+ keys << _slavearg(slave)
keys << '-global'
if Tk::TCL_MAJOR_VERSION > 8 ||
(Tk::TCL_MAJOR_VERSION == 8 && Tk::TCL_MINOR_VERSION >= 5)
keys << '--'
end
- keys << _slavearg(slave) << cmd
+ keys << cmd
keys.concat(args)
@interp._invoke('interp', 'invokehidden', *keys)
end
@@ -2391,6 +2393,23 @@ class MultiTkIp
__getip.invoke_hidden_on_global(slave, cmd, *args)
end
+ def invoke_hidden_on_namespace(slave, ns, cmd, *args)
+ # for Tcl8.5 or later
+ if args[-1].kind_of?(Hash)
+ keys = _symbolkey2str(args.pop)
+ else
+ keys = []
+ end
+ keys << _slavearg(slave)
+ keys << '-namespace' << TkComm._get_eval_string(ns)
+ keys << '--' << cmd
+ keys.concat(args)
+ @interp._invoke('interp', 'invokehidden', *keys)
+ end
+ def self.invoke_hidden_on_namespace(slave, ns, cmd, *args)
+ __getip.invoke_hidden_on_namespace(slave, ns, cmd, *args)
+ end
+
def mark_trusted(slave = '')
@interp._invoke('interp', 'marktrusted', _slavearg(slave))
self
diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb
index 576ba3b1f4..c24f209703 100644
--- a/ext/tk/lib/tk.rb
+++ b/ext/tk/lib/tk.rb
@@ -4437,7 +4437,7 @@ end
#Tk.freeze
module Tk
- RELEASE_DATE = '2005-08-10'.freeze
+ RELEASE_DATE = '2005-09-01'.freeze
autoload :AUTO_PATH, 'tk/variable'
autoload :TCL_PACKAGE_PATH, 'tk/variable'