* ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures

delegated by master-ip.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nagai 2005-06-07 01:33:12 +00:00
Родитель 0e7ab28c36
Коммит 78e266c241
2 изменённых файлов: 18 добавлений и 5 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Tue Jun 7 10:30:49 2005 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
* ext/tk/lib/multi-tk.rb: slave-ip fails to call procedures
delegated by master-ip.
Mon Jun 6 16:35:18 2005 NAKAMURA Usaku <usa@ruby-lang.org> Mon Jun 6 16:35:18 2005 NAKAMURA Usaku <usa@ruby-lang.org>
* ext/ripper/depend: add .y to .SUFFIXES for nmake. * ext/ripper/depend: add .y to .SUFFIXES for nmake.

Просмотреть файл

@ -1333,7 +1333,7 @@ class MultiTkIp
#self.eval_callback{ TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *args)) } #self.eval_callback{ TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *args)) }
#ret = self.eval_callback{ TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *args)) } #ret = self.eval_callback{ TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *args)) }
ret = self.eval_callback(*args){|safe, *params| ret = self.eval_callback(*args){|safe, *params|
$SAFE=safe $SAFE=safe if $SAFE < safe
TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *params)) TkComm._get_eval_string(TkUtil.eval_cmd(cmd, *params))
} }
if ret.kind_of?(Exception) if ret.kind_of?(Exception)
@ -1511,7 +1511,7 @@ class MultiTkIp
else else
eval_proc_core(true, eval_proc_core(true,
proc{|safe, *params| proc{|safe, *params|
$SAFE=safe $SAFE=safe if $SAFE < safe
Thread.new(*params, &cmd).value Thread.new(*params, &cmd).value
}, },
*args) *args)
@ -1530,7 +1530,8 @@ class MultiTkIp
Thread.new{ Thread.new{
eval_proc_core(false, eval_proc_core(false,
proc{|safe, *params| proc{|safe, *params|
$SAFE=safe; Thread.new(*params, &cmd).value $SAFE=safe if $SAFE < safe
Thread.new(*params, &cmd).value
}, },
*args) *args)
} }
@ -1545,7 +1546,11 @@ class MultiTkIp
raise RuntimeError, "A String object is expected for the 'cmd' argument" raise RuntimeError, "A String object is expected for the 'cmd' argument"
end end
eval_proc_core(true, proc{|safe| $SAFE=safe; Kernel.eval(cmd, *eval_args)}) eval_proc_core(true,
proc{|safe|
$SAFE=safe if $SAFE < safe
Kernel.eval(cmd, *eval_args)
})
end end
alias eval_str eval_string alias eval_str eval_string
@ -1556,7 +1561,10 @@ class MultiTkIp
end end
Thread.new{ Thread.new{
eval_proc_core(true, eval_proc_core(true,
proc{|safe| $SAFE=safe; Kernel.eval(cmd, *eval_args)}) proc{|safe|
$SAFE=safe if $SAFE < safe
Kernel.eval(cmd, *eval_args)
})
} }
end end
alias background_eval_string bg_eval_string alias background_eval_string bg_eval_string