F
Ferenc Engard
Hi all,
The "can't dup Fixnum" error what I have mentioned in my previous post
is caused by a change in tk.rb.
The tk.rb in 1.8.1 has the following portion from line 657:
module TkCore
include TkComm
extend TkComm
unless self.const_defined? :INTERP
if self.const_defined? :IP_NAME
name = IP_NAME.to_s
else
name = nil
#### ^^^^^^^^^^ #####################
end
if self.const_defined? :IP_OPTS
if IP_OPTS.kind_of?(Hash)
opts = hash_kv(IP_OPTS).join(' ')
else
opts = IP_OPTS.to_s
end
else
opts = ''
end
INTERP = TclTkIp.new(name, opts)
[...]
The 1.8.2 version has this (from line 940):
module TkCore
include TkComm
extend TkComm
unless self.const_defined? :INTERP
if self.const_defined? :IP_NAME
name = IP_NAME.to_s
else
#name = nil
name = $0
#### ^^^^^^^^^^ #####################
end
if self.const_defined? :IP_OPTS
if IP_OPTS.kind_of?(Hash)
opts = hash_kv(IP_OPTS).join(' ')
else
opts = IP_OPTS.to_s
end
else
opts = ''
end
INTERP = TclTkIp.new(name, opts)
(The version numbers are from the debian packages.)
This change causes the fixnum problem in class TclTkExtIp's constructor.
I have a 1.8.0 source where TclTkIp's initialize fn (in tcltklib.c) do
not get params, so I do not know why is it for.
What to do?
Thanks,
Ferenc
The "can't dup Fixnum" error what I have mentioned in my previous post
is caused by a change in tk.rb.
The tk.rb in 1.8.1 has the following portion from line 657:
module TkCore
include TkComm
extend TkComm
unless self.const_defined? :INTERP
if self.const_defined? :IP_NAME
name = IP_NAME.to_s
else
name = nil
#### ^^^^^^^^^^ #####################
end
if self.const_defined? :IP_OPTS
if IP_OPTS.kind_of?(Hash)
opts = hash_kv(IP_OPTS).join(' ')
else
opts = IP_OPTS.to_s
end
else
opts = ''
end
INTERP = TclTkIp.new(name, opts)
[...]
The 1.8.2 version has this (from line 940):
module TkCore
include TkComm
extend TkComm
unless self.const_defined? :INTERP
if self.const_defined? :IP_NAME
name = IP_NAME.to_s
else
#name = nil
name = $0
#### ^^^^^^^^^^ #####################
end
if self.const_defined? :IP_OPTS
if IP_OPTS.kind_of?(Hash)
opts = hash_kv(IP_OPTS).join(' ')
else
opts = IP_OPTS.to_s
end
else
opts = ''
end
INTERP = TclTkIp.new(name, opts)
(The version numbers are from the debian packages.)
This change causes the fixnum problem in class TclTkExtIp's constructor.
I have a 1.8.0 source where TclTkIp's initialize fn (in tcltklib.c) do
not get params, so I do not know why is it for.
What to do?
Thanks,
Ferenc